Using static const + const as array bound
I'm doing something like this Class.hpp: class Class { private: static const unsigned int arraySize; int ar[arraySize+2]; }; Class.cpp: #include <Class.hpp> const unsigned int arraySize = 384; The compiler (q++, a c++ compiler for the QNX OS based on g++) gives me error: array bound is not an integer constant while compiling a unit including Class.hpp (not while compiling Class.cpp). Why isn't that working? I know that a static const member can be used as an array bound, guaranteed by the C++ standard (see this anwser ). But why doesn't the compiler see the result of static const + const as a