Как преобразовать 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 ++ это компилируется нормально.

Ответы на вопрос(2)

Ваш ответ на вопрос