我有一个简单的函数,其中一个数组声明大小取决于参数int.
void f(int n){
char a[n];
};
int main() {
return 0;
}
Run Code Online (Sandbox Code Playgroud)
这段代码在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
Run Code Online (Sandbox Code Playgroud)
我该怎么做才能纠正这个问题?
(我有兴趣使用MSVC,而不使用new/delete)