接上一个问问
http://topic.csdn.net/u/20120511/10/732ea681-d1e5-49fd-b773-87f74935c35b.html?66756
不好意思我可能简化的不是太好,好像不太对,下面是一个相对不那么简化的
class A
{
public:
typedef struct B
{
int x;
char y;
int z;
}*PB;
B b;
};
class C
{
public:
int a;
char b;
int z;
}
void show(char *info,C *q)
{
A::PB p=(A::PB)info;//我是很想问,它为什么要写成这样,为什么不直接传指针赋值,
p->x=q->a;
p->y=q->y;
p->z=q->z;
}
int main()
{
C c;
c.a=1;
c.b='2';
c.c=3;
A a;
show((char*)&a.b,&c)
cout<<a.b.x<<endl;//1
cout<<a.b.y<<endl;//2
cout<<a.b.z<<endl;//3
}
[解决办法]
我也不是太清楚为什么要这样传递了。等大牛来