好吧,这让我很困惑。我只是不知道这个作业有什么问题:
void *pa; void *pb;
char *ptemp; char *ptemp2;
ptemp = (char *)pa;
ptemp2 = (char *)pb;
谁能告诉我为什么会出现这个错误:
error: invalid conversion from ‘void*’ to ‘char*’
最佳答案
实际上,您的编译器一定有问题(或者您没有说出完整的故事)。将 void*
转换为 char*
是完全合法的。此外,转换在 C 中是隐式(与 C++ 不同),也就是说,以下代码也应该编译
char* pChar;
void* pVoid;
pChar = (char*)pVoid; //OK in both C and C++
pChar = pVoid; //OK in C, convertion is implicit
关于c - 你如何在 C 中将 void 指针转换为 char 指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7067927/