void *p 类型,illegal indirection错误

时间:2022-10-30 09:25:46

#include<stdio.h>
int main(void)
{
    int i=0;
    int *pint=&i;
    double d=1.23;
    double *pDouble=&d;
    void *pvoid=NULL;
    pvoid=pint;
    printf("1:%d\n",*((int*)pvoid));
    pvoid=pDouble;
    printf("2:%lf\n",*((double*)pvoid));
    return 0;
}

因为void指针,虽然它可以接收任何类型的数据,但从它取数据回来的时候需要强制转换成相应的类型。

参考链接:http://bbs.bccn.net/thread-345391-1-1.html