I'm trying to add a static constant variable to my class, which is an instance of a structure. Since it's static, I must initialize it in class declaration. Trying this code
class Game {
public:
static const struct timespec UPDATE_TIMEOUT = { 10 , 10 };
...
};
Getting this error:
error: a brace-enclosed initializer is not allowed here before '{'
tokenerror: invalid in-class initialization of static data member of non-integral type 'const timespec'
How do I initialize it? Thanks!
Best Answer
Initialize it in a separate definition outside the class, inside a source file:
If you include the definition in a header file, you'll likely get linker errors about multiply defined symbols if that header is included in more than one source file.