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