У меня возникла проблема с указанием значений по умолчанию для членов моего класса C++. Мой код:
Из Someclass.h:
class SomeClass
{
public:
SomeClass();
~SomeClass();
void printOut (bool);
}
... из SomeClass.cpp:
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
Я попытался указать значение по умолчанию непосредственно в объявлении класса в заголовочном файле и т. д. Я также пытался выполнить поиск как в Stack Overflow, так и в Google в целом, но нигде не нашел решения. Что я делаю не так?