我有一个简单的函数,其中根据 int 参数声明数组的大小。
void f(int n){
char a[n];
};
int main() {
return 0;
}
这段代码在GNU C++上编译得很好,但在 MSVC 2005 上编译得不好。
我收到以下编译错误:
.\main.cpp(4) : error C2057: expected constant expression
.\main.cpp(4) : error C2466: cannot allocate an array of constant size 0
.\main.cpp(4) : error C2133: 'a' : unknown size
我能做些什么来纠正这个问题?
(我有兴趣使用 MSVC 进行这项工作,而不使用 new/delete)