我收到此錯誤信息與下面的代碼中給出默認參數:錯誤:參數1
class Money {
public:
Money(float amount, int moneyType);
string asString(bool shortVersion=true);
private:
float amount;
int moneyType;
};
首先,我認爲默認參數不允許作爲在C++中的第一參數,但它是允許的。
我收到此錯誤信息與下面的代碼中給出默認參數:錯誤:參數1
class Money {
public:
Money(float amount, int moneyType);
string asString(bool shortVersion=true);
private:
float amount;
int moneyType;
};
首先,我認爲默認參數不允許作爲在C++中的第一參數,但它是允許的。
您可能重新定義了函數實現中的默認參數。它只應在函數聲明中定義。
//bad (this won't compile)
string Money::asString(bool shortVersion=true){
}
//good (The default parameter is commented out, but you can remove it totally)
string Money::asString(bool shortVersion /*=true*/){
}
//also fine, but maybe less clear as the commented out default parameter is removed
string Money::asString(bool shortVersion){
}
你能否提供更多的細節? – 2010-03-30 13:55:15
你使用什麼編譯器? – 2010-03-30 13:55:31
我在Windows上使用Eclipse CDT和MinGW 5.1.6。 – pocoa 2010-03-30 14:00:54