erro: argumento padrão fornecido para o parâmetro 1

Estou recebendo esta mensagem de erro com o código abaixo:

class Money {
public:
    Money(float amount, int moneyType);
    string asString(bool shortVersion=true);
private:
    float amount;
    int moneyType;
};

Primeiro, pensei que os parâmetros padrão não são permitidos como primeiro parâmetro em C ++, mas é permitido.

questionAnswers(1)

yourAnswerToTheQuestion