我的程序中有这个函数:
unsigned char * stringXOR(const unsigned char * X, const unsigned char * Y, int len)
{
unsigned char * result = new unsigned char [1024];
for(int i = 0; i < len; i++)
{
result[i] = X[i] ^ Y[i];
}
result[len] = '\0';
return result;
}
在 main() 中:
unsigned char ot1[1024] = "ksjdhsjd";
unsigned char ot2[1024] = "jjjkjhyh";
unsigned char * computeKey;
computeKey = stringXOR(ot1, ot2, strlen(ot1));
我得到一个错误 invalid conversion from ‘unsigned char*’ to ‘const char*’ [-fpermissive]|
这里有什么问题?我没有返回任何常量,所以在提示什么?
最佳答案
strlen
需要 const char *
。您正在尝试将 const unsigned char *
传递给它。这就是错误消息的内容。
关于c++ - 无效转换 const unsigned char,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36343413/