我指定我的C++類成員的默認值時遇到問題。我的代碼是:C++:類成員中的默認值
從Someclass.h:從SomeClass.cpp
class SomeClass
{
public:
SomeClass();
~SomeClass();
void printOut (bool);
}
...:
void SomeClass::printOut(bool foobar=true)
{
if (foobar) { std::cout << foobar << std::endl; }
}
......最後,從main.cpp中:
int main()
{
SomeClass s;
s.printOut();
return 0;
}
然而,這給了錯誤消息(GCC):
../main.cpp: In function `int main()':
../main.cpp:8: error: no matching function for call to `SomeClass::printOut()'
../SomeClass.h:18: note: candidates are: void SomeClass::printOut(bool)
subdir.mk:21: recipe for target `main.o' failed
make: *** [main.o] Error 1
我曾嘗試直接指定的默認值將在頭文件中的類聲明,等等。我也試過在一般的搜索都堆棧溢出和谷歌,但不能隨時隨地找到解決方案我究竟做錯了什麼?
我可以發誓我試過了。 :-S但是 - 我當然沒有 - 它的工作很完美,我非常感謝您的幫助 - 謝謝! – gustafbstrom 2012-03-21 11:53:22
我的榮幸,很高興我能幫上忙。 – Konrad 2012-03-21 11:55:11