class A
{}
A a;
class B: public CSocket
{}B b;我想通过b.send()把对象a传过去,应该怎么处理呢?

解决方案 »

  1.   

    接收方定义一个A a1;自己再定义一个报文格式,将a的必要信息大包传送,对方接收,解包,把必要的数据赋给a1。ok
      

  2.   

    只能将对象中的数据传过去,方法只有地址。
    你的应用应该考虑RPC DCOM SOAP来实现。
      

  3.   

    我是通过这样的方法传递的,
    b.Send(&a,sizeof(a),0);
    但在运行程序时一旦使用接收到的数据就会出错,说什么0xoo402218指令引用的0x00000040内存,该内存不能为"read"
      

  4.   

    你是这样的吗?
    receive( &a1, sizeof(a1) )然后使用  a1.m_var 或a1.m_method()sizeof()不能算出一个类的大小,另外传到对方的a中包含发送端的类函数指针地址,a1.m_method()是无效的地址,因为a1,没有实例化,还没有函数的地址。如果你的类是纯的只有变量的类(只有默认的构造函数或西够函数),使用a1.m_var才应该可以。
    例如struct