Я пытаюсь выделить фиксированный размер в стеке для целочисленного массива
#include<iostream>
using namespace std;
int main(){
int n1 = 10;
const int N = const_cast<const int&>(n1);
//const int N = 10;
cout<<" N="<<N<<endl;
int foo[N];
return 0;
}
Однако это дает ошибку в последней строке, где я использую N
для определения фиксированного
error C2057: expected constant expression
.
Однако, если я определяю N
как const int N = 10
, код компилируется просто отлично.
Как мне следует прибегнуть к n1
, чтобы передать его как const int
?
Я пробовал: const int N = const_cast<const int>(n1)
, но это дает ошибку.
EDIT: Я использую MS VС++ 2008 для компиляции этого... с g++ он компилируется отлично.