我的问题与我以前的帖子有关:
explicit specialization: syntax error?
我正在尝试将指向字符的数组作为参数传递给函数(我稍后将其合并到上一篇文章中的专用函数中),但我无法正确理解语法。
以下是在主程序下宣布的:
char c0[30] = { "see if this works" };
char c1[30] = { "functions" };
char c2[30] = { "explicit specialization" };
char *d[] = { c0, c1, c2 };
下一行打印"功能"正如我所料:
cout << "test print d[1] " << d[1] << endl;
下一步是测试我是否能够返回我想要返回的字符数组,但我的语法不正确。以下返回&#39; s&#39; (来自c0)而不是整个char数组:
函数调用:
cout << "string compare is " << compare2(*d, 3);
功能声明:
char compare2(char const arr2[], int n) {
char temp;
temp = arr2[0];
return temp;
感谢帮助!
答案 0 :(得分:0)
指针声明:
char *(d[]) = { c0, c1, c2 };
函数调用:
cout << "string compare is " << compare2(d, 3);
功能定义:
char * compare2(char * const arr2[], int n) {
char * temp;
temp = *(arr2+2);
return temp;
}