【发布时间】:2021-12-11 20:09:30
【问题描述】:
使用以下代码:
char randnum[KEYSIZE + 1];
char temp[3];
char buff[KEYSIZE*2 + 1] = {0};
for (j = 0; i < KEYSIZE; i++) {
randnum[i] = rand()%256;
snprintf(temp, 3, "%.2x", (unsigned char)randnum[i]);
strcat(buff, &temp);
}
我在&temp 收到incompatible pointer types passing 'char (*)[3]' to parameter of type 'const char *。改用temp 可以解决此问题。
我正在尝试理解错误消息。我理解const char * 是一个指针,但我不确定char (*)[3] 指的是什么;特别是(*)。从我可以从修复中推断出来,我假设这是一个指向指针的指针(编辑:指针)。这是正确的吗?
【问题讨论】:
-
cdecl 将来可以帮助您。遗憾的是,如果没有变量名,它就无法工作。