【发布时间】:2014-04-17 23:05:37
【问题描述】:
我收到此错误:
array.cpp: 在函数‘void strcat2(char*, const char*)’中: array.cpp:74:错误:从“char”到“char*”的无效转换 array.cpp:74: 错误: 初始化参数 1'void strcpy2(char*, const char*)' array.cpp:74:错误:从“char”到“const char*”的无效转换 array.cpp:74: 错误: 初始化参数 2'void strcpy2(char*, const char*)'
尝试运行此代码时:
//Concatenates two arrays of characters using pointers
void strcat2(char* t, const char* s)
{
unsigned int i;
for (i = 0; *t; i++);
strcpy2(*(t + i), *s);
}
这是它调用的 strcpy2 函数:
//Copies the information from one array of characters to another using pointers
void strcpy2(char* t, const char* s)
{
for ( ; *t++ = *s++;);
}
它说从 char 到 char* 的转换无效,但我在哪里尝试从 char 转换为 char*?在我看来,代码中的所有内容都是 char*。我错过了什么?
我已多次查看此代码,但似乎无法找到问题所在。我对指针比较陌生,放轻松!非常感谢您的帮助!
【问题讨论】:
-
如果你真的在使用 C++,我可以推荐
std::string吗? -
对不起,我没有提到这是作业。
-
我想,只有在学术界他们才会要求你在 C++ 中使用
char*来处理字符串;)
标签: c++