C++ 学习中的两个习题问题(引用,模板方面)望高手指教!!
问题1:
编写通常接受一个参数(字符串的地址), 并打印该字符串的函数.不过, 如果提供了第二个参数(int类型), 且该参数不为0, 则该函数打印字符串的次数将为该函数被调用的次数(打印次数不是第二个参数的值,二等于函数被调用的次数)并编写一个程序使用该函数.
请问这个程序和这个函数应该怎么编?什么叫该函数被调用的次数?请大侠们指教!!
问题2:
下面是我编写的一段代码,运行的时候总是报告错误
expected primary-expression before "char"
这个错误是什么意思..?应该如何解决??百思不得其解!望指教!谢谢!!
char * strings [5] =
{
"I'm WizCas.",
"I wanna sleep!",
"If I go, I'll kill you!",
"For the king! You dull!",
"That is impossible."
};
char * maxstr = maxn(char * strings[], 5);
cout << maxstr << endl;
这个程序的目的是编写一个显具体化,它将char指针数组和数组中的指针数量作为参数,并返回最长的字符串地址. 如果有多个这样的字符串,则返回第一个地址.使用由5个字符串指针组成的数组来测试该具体化.下面是我写的显式具体化,不过还没有测试..(因为卡在上面的那个错误了..)谢谢谢谢谢谢!!!!!
template<> char * maxn<char *>(char * str[], int n)
{
char * maxone = str[0];
for (int i = 1; i < n; i++)
{
if (strlen(str[i]) == strlen(str[i - 1]))
continue;
else if (strlen(str[i]) > strlen(str[i - 1]))
maxone = str[i];
}
return maxone;
}