void *p 类型,illegal indirection错误

#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

 

posted @ 2014-01-21 15:09  xuefenhu  阅读(496)  评论(0编辑  收藏  举报