Jim*_*mmy 15 c pointers void-pointers
好吧,这对我来说太麻烦了.我只是不知道这个任务有什么问题:
void *pa; void *pb;
char *ptemp; char *ptemp2;
ptemp = (char *)pa;
ptemp2 = (char *)pb;
Run Code Online (Sandbox Code Playgroud)
任何人都可以告诉我为什么我收到此错误:
错误:从'void*'无效转换为'char*'
Arm*_*yan 24
实际上,你的编译器肯定有问题(或者你没有讲完整的故事).这是完全合法的投出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
Run Code Online (Sandbox Code Playgroud)