¿Cómo convertir int a const int para asignar el tamaño de matriz en la pila?
Estoy tratando de asignar un tamaño fijo en la pila a una matriz entera
#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;
}
Sin embargo, esto da un error en la última línea donde estoy usandoN
para definir un @ fierror C2057: expected constant expression
.
Sin embargo, si definoN
comoconst int N = 10
, el código se compila muy bien. ¿Cómo debo escribirn1
para identificarlo comoconst int
?
Lo intenté const int N = const_cast<const int>(n1)
pero eso da error.
EDIT: Estoy usando MS VC ++ 2008 para compilar esto ... con g ++ se compila bien.