Я пытаюсь выделить фиксированный размер в стеке целочисленному массиву
#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)
, но это дает ошибку.
РЕДАКТИРОВАТЬ: Я использую MS VC ++ 2008 для компиляции этого ... с g ++ он компилируется нормально.