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.
static const unsigned max_size = 4; std::vector<double> array; Stack::Stack() : array(MAX_SIZE){}std::vector. I rarely use arrays; I'll use astd::vectorbe preference nearly every time. The code @Jesse Good has given should work as well.