【发布时间】:2010-11-25 02:50:43
【问题描述】:
我正在使用 g++。我正在使用具有main(int,char**) 的代码,已重命名以便我可以调用它。我查看了Should I use char** argv or char* argv[] in C?,其中char** 据说等同于char* []。这在 c++ 函数调用中似乎不是真的。例如:
void f1(char** p){;}
void f2(char* p[]){
f1(p);
//...`
}
编译器失败,抱怨“无法将char (*)[] 转换为char**...” 我希望将数组转换为调用指针的引用,但情况似乎并非如此:
void f3(char* [] p);
char caa[16][16];
f3(caa);
也失败了。我曾假设只要间接级别相同(例如 char*** ptr 和 char[][][] carray ),类型是可以互换的。
谁能提供我可以查看的参考资料来澄清这些问题?
谢谢。
【问题讨论】:
标签: c++ arrays pointers arguments