次のコードは機能しますが、Visual C++ 2010 を使用する gcc 3.4.2 ではコンパイルされず、違法である可能性があると言われています。
int ar1[]{0,1,2,3,4,5,6,7,8,9},
*ptr1 = ar1,
ar2[]{0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18},
*ptr2 = ar2;
どうやら、それを機能させるにはいくつかの変更を加える必要があるようです (そのようなもの):
int ar1[]{0,1,2,3,4,5,6,7,8,9};
int *ptr1 = ar1;
int ar2[]{0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18};
int *ptr2 = ar2;
そうですか?配列とポインタを一緒に宣言することはできませんか?
(コードは QT + gcc 4.8 で正常にコンパイルされます)