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