サイズという名前の変数を介して配列サイズを動的に渡しています。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 変更を加えて同じプログラムを実行しましたが、適切に実行されました。
また、この場合、配列宣言時にコンパイラがどのように動作するかを理解するのを手伝ってください。