在我的大學腳本中寫道,我們不允許在運行時創建一個只在運行時才知道大小的本地數組。爲什麼我能夠創建僅在運行時已知的大小數組?
float x [size] [2];
這不起作用,因爲聲明的數組不能有運行時大小。嘗試載體:
來源:C++ expected constant expression
但是這個代碼在蘋果LLVM 8.0.0
#include <iostream>
int main(){
int i = 5;
int x;
std::cin >> x;
int array[x];
for(int i = 0; i<x; ++i){
std::cout << array[i] << "\n";
}
}
編輯編譯:與正常工作。按預期打印垃圾。
提醒:這個程序並不意味着任何意義。
這是一個非標準的編譯器擴展。如果你用'-pedantic-errors'編譯它應該拒絕它。 – Galik