int (*z())[5];
これは何ですか?グローバル宣言としてメインの前に置くと、コンパイルされます。z() はポインタ( "z()" )になると思ったので、試してみました:
int itab[5]={0,1,2,3,4};
((z())[0])[0]=itab;
これはエラーになります:
エラー: 'int*' から 'int' への変換が無効です</p>
だから私はああと思ったので、私は近くにいて試してみました:((z())[0])[0]=*itab;
これはコンパイルされますが、リンカーに未解決のシンボルエラーが発生します:
g++ -o dist/Debug/GNU-Linux-x86/cppappl_example4 build/Debug/GNU-Linux-x86/main.o build/Debug/GNU-Linux-x86/main.o: 関数
main': /NetBeansProjects/cppappl_example4/main.cpp:242: undefined reference to
z() 内
だから私の質問は: この宣言は正しいですか? はいの場合、それは何ですか、どのように使用しますか?
編集:回答で指定されたリンクは、実際に非常に役立ちます:
ありがとう!