我指定我的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