int (*z())[5];
这是什么?如果我把它作为全局声明放在 main 之前,它会编译。我认为 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()'
所以我的问题是:这个声明正确吗?如果是,那么它是什么,如何使用它?
编辑:答案中给出的链接确实有很大帮助:
谢谢!