在编写一些代码时,我意识到我的一个代码工作,根据我的理解不应该工作.代码是
int main() {
int val;
cin>>val;
int array[val];
}
Run Code Online (Sandbox Code Playgroud)
不仅如此,即使是下面的代码也能正常工作
int main() {
int valone = rand();
int valtwo = rand();
int array[valone][valtwo];
}
Run Code Online (Sandbox Code Playgroud)
我总是理解静态数组需要常量值,或编译器在编译期间可以推导出的值.
最近的C++ 11/14规范是否有任何变化,或者从一开始就适用于C++.
注:Visual Studio的编译器提供了这种情况的一个错误,但
g++
并clang
成功编译上面的代码
归档时间: |
|
查看次数: |
230 次 |
最近记录: |