Como converter int em const int para atribuir o tamanho da matriz na pilh

Estou tentando alocar umamanho fixo na pilha para uma matriz inteira

#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;
}

No entanto, isso gera um erro na última linha em que estou usandoN para definir um @ fi
error C2057: expected constant expression.

No entanto, se eu definirN Comoconst int N = 10, o código compila perfeitamente. Como devo digitarn1 tratá-lo como umconst int?

Eu tentei const int N = const_cast<const int>(n1) mas isso dá erro.

EDIT: Estou usando o MS VC ++ 2008 para compilar isso ... com o g ++ ele compila be

questionAnswers(4)

yourAnswerToTheQuestion