[ERROR]
A static CONST member of integral type may be initialized by a constant expression in its member declaration within the class declaration.
int e = 0;
class A{
public:
static int a = 1; // ERROR: non-const initialized
const int b = 2; // ERROR: non-static initialized
static const float c = 3.0;// ERROR: non-integral
// initializer
static const int d = e; // ERROR: non-const initializer
// ...
};
class A{
public:
static const int a = 5; // Initialization
// ...
};
const int A::a; // Definition
or the other way round:
class A{
public:
static const int a; // Definition
// ...
};
const int A::a = 5; // Initialization