void指针问题,求解!
本帖最后由 light_bo 于 2013-11-05 18:37:51 编辑 typedef void* PVOID;
struct Size
{
int x;
int y;
};
int main()
{
PVOID p;
Size* pSize=new Size;
pSize->x=1;
pSize->y=2;
p=pSize;
cout<<p->x<<endl;//这两句编译不过
cout<<p->y<<endl;//
return 0;
}
请大家看一看以上代码,为什么那两句编译不过,求原因! c++ void指针
[解决办法]
它是void* 指针,里面有对应的x,y数据!但是没有对应的x,y成员!
所以不能直接访问的!
可以先强制类型转换下
[解决办法]
void*是无类型指针,需要强制转换,例如:
cout<<(Size*)p->x<<endl;
void*是无类型指针,需要强制转换,例如:
cout<<(Size*)p->x<<endl;
typedef void* PVOID;
struct Size
{
int x;
int y;
};
int main()
{
PVOID p;
Size* pSize=new Size;
pSize->x=1;
pSize->y=2;
p=pSize;
cout<<p->x<<endl;//这两句编译不过
cout<<p->y<<endl;//
return 0;
}
请大家看一看以上代码,为什么那两句编译不过,求原因!
正解