Tengo un problema al especificar los valores predeterminados para mis miembros de la clase C++. Mi código es:C++: valores predeterminados en el miembro de la clase
De Someclass.h:
class SomeClass
{
public:
SomeClass();
~SomeClass();
void printOut (bool);
}
... desde SomeClass.cpp:
void SomeClass::printOut(bool foobar=true)
{
if (foobar) { std::cout << foobar << std::endl; }
}
... y finalmente, desde main.cpp :
int main()
{
SomeClass s;
s.printOut();
return 0;
}
Sin embargo, esto da mensaje de error (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
He intentado especificar el valor por defecto directamente en la declaración de clase en el archivo de cabecera, etc. También he intentado buscar tanto el desbordamiento de pila y Google en general, pero no puede encuentra cualquier solución en cualquier lugar. ¿Qué estoy haciendo mal?
Podría haber jurado que lo intenté. : -S Sin embargo, como seguramente no lo hice, funcionó perfectamente y estoy muy agradecido por su ayuda, ¡gracias! – gustafbstrom
Es un placer, me alegro de poder ayudar. – Konrad