错误动态数组

时间:2014-07-24 06:12:21

标签: c++ arrays dynamic heap

在Stack中创建不会产生任何错误  在堆中创建动态生成错误。

   int a;
   cin>>a;
   int B[a];  // OK
   int A[] = new int[a]; // error: variable-sized object 'A' may not be initialized

为什么第二个导致错误?

1 个答案:

答案 0 :(得分:4)

B [a]是非法的。数组大小需要在编译时知道。 'A'应该是int *而不是int []。

int* A=new int[a];