【发布时间】:2011-03-28 15:17:22
【问题描述】:
我正在使用以下代码来反转 char 数组。我的代码和错误可以在下面找到。
我的代码:
char * reverseStr(char* s) {
int i=0; //legnth of string
while(s[i]) i++;
char reversed[i];
for(int j=0; j<i; j++) {
reversed[j] = s[i-j - 1]; //look at this later
}
return *(reversed);
}
错误:
Compiling...
Compile error: your program did not compile correctly:
program.c: In function 'char* reverseStr(char*)':
program.c:18: error: invalid conversion from 'char' to 'char*'
--> 17: }
--> 18: return *(reversed);
提前谢谢你!
【问题讨论】:
-
看起来像是 const 类型的问题。 possibility.com/Cpp/const.html
-
把完整的代码我认为错误在你代码的另一部分
-
你为什么返回一个字符而不是反向字符串的指针?
-
另一件事你不能创建一个变量类型的数组,它必须被修复你可以使用 new 操作符代替 char* reversed=new char[i];数组长度必须在编译时知道
-
您发布了错误的代码部分 - 错误在第 45 行或附近,可能在对 strcpy 的调用中。