所以這個程序在CodeBlocks中完美工作,但我的學校編譯器顯示這個錯誤。這可能是一個簡單的修復。有人可以讓這個代碼在這個C++ 11編譯器上工作並解釋嗎?ISO C++禁止變長數組
error: ISO C++ forbids variable length array ‘a’ [-Werror=vla]
int a[c], b[c];
^
error: ISO C++ forbids variable length array ‘b’ [-Werror=vla]
int a[c], b[c];
^
#include <iostream>
#include <iomanip>
using namespace std;
int main() {
int i,j,l;
cout<<"Unesite cjelobrojni parametar n: ";
int n;
cin>>n;
if(n==1) cout<<setw(4)<<1;
else{
int c(n);
int a[c], b[c]; //Compiler gives error here
for(int k=0; k<c; k++) {
a[0]=1;
a[k]=0;
}
for(i=0; i<c; i++) {
for(j=0; j<c; j++)
if(a[j]!=0)
cout<<setw(4)<<a[j];
cout<<endl;
for(l=c-1; l>0; l--)
b[l]=a[l-1]+a[l];
for(int p=1; p<c; p++) a[p]=b[p];
}
}
return 0;
}
謝謝!
數組問題後,您的程序有很多錯誤。 – Kason