我通过一个名为 size 的变量动态传递数组大小,它在 c 中运行良好,但在 c++ 中却不行。请告诉我原因,提前谢谢。
#include <iostream>
#include <stdlib.h>
using namespace std;
int size;
int main(int argc, char *argv[])
{
int i ;
int *a[size];
cout<<"Enter size";
cin >> size;
for(i =0; i < size ;i++)
{
cout<<"Enter value:" ;
cin>>a[i] ;
}
for(i=0 ; i < size; i++)
{
cout<<a[i]<< " ";
}
system("PAUSE");
return 0;
}
我已经通过适当的 I/O 更改执行了相同的程序,它执行正确。
还请帮助我了解在这种情况下编译器在数组声明时的行为方式。