c++ - Error: Expression must have a constant value, when variable is constant? -
i have following 3 lines of code in c++ program:
cin >> size; const int arrsize = size; int inboard[arrsize][arrsize]; vs express giving me following error: error: expression must have constant value on final line, @ 2 mentions of arrsize. don't understand because declared arrsize const? problem here, , how can avoid it?
you cannot create array on stack using arrsize size because not constant during compile time. value of arrsize depend on size, happens acquire value during run-time.
solutions:
- use
std::vector<std::vector<int> > - allocate own 2d array
operator new[](not recommended. seriously.)
Comments
Post a Comment