Initialize array in constructor's initialization list
arrays, c++, constructor, initialization
Solution
class Stack {
public:
Stack();
static const unsigned MAX_SIZE = 4;
private:
double array[MAX_SIZE];
unsigned elements;
}; // class Stack
Stack::Stack(): array(), elements(0) {}
But, `std::vector` would be better as mentioned in the comments.
Problem
I'm trying to initialize an array in my constructor's intialization list, and I want the array to have the size MAX_SIZE, which is a public static const in my Stack class. How can I get it to work? The compiler complains, saying they have incompatible types in assignment of 'double' to 'double[0u]' Here is my code: ``` class Stack { public: Stack(); static const unsigned MAX_SIZE; private: double array[]; unsigned elements; }; // class Stack Stack::Stack(): array( array[MAX_SIZE] ), elements(0) {} const unsigned Stack::MAX_SIZE = 4; ``` Thanks in advance for your help.