【发布时间】:2021-01-13 10:34:15
【问题描述】:
对于问题陈述,有一种情况是,返回char* 的cpp 函数需要将return 值作为-1。如何返回负整数值的char*?
函数正在解密mystring 并返回给定index 的字符的示例伪代码,如果未找到应返回-1:
char * decrypt(char *mystring, int index){.........................
//code for decrypt mystring
if (index is valid after decryption)
return valid value
else
return '-1';
}
在上面的代码块中如何返回'-1'与char *兼容
【问题讨论】:
-
这没有任何意义。如果你想返回一个“无效指针”返回一个
nullptr -
-1不是字符,如果您打开编译器警告,它会告诉您不允许使用多字符字符文字。如果将返回值更改为const char*,则可以返回“-1”,但这真的很糟糕。 -
@UnholySheep 这是具体情况,如果没有找到,期望返回“-1”
-
那你可以听从 Quimby 的建议,虽然这仍然是一个可怕的要求并且没有意义
-
问题描述“返回给定索引处的字符”表示该函数应该只返回一个字符 -
decrypted_string[index]- 而不是指针。如果描述正确,结果类型应该是char。