我有两个结构体A,B,其中A包含B
typedef struct
{
   float fb;
   int   ib;
   char  cb;
}B;struct A
{
   int ia;
   B   ba;
};
现在,我有变量B* sb;和变量struct A sa;
想要为sa的ba赋值sb,如何赋值?
sa.ba=&sb吗?好像不对
VS2008:
error C2679: 二进制“=”: 没有找到接受“tPvFrame **”类型的右操作数的运算符(或没有可接受的转换)
请各位大大帮帮忙,谢谢了

解决方案 »

  1.   

    typedef struct
    {
      float fb;
      int ib;
      char cb;
    }B;struct A
    {
      int ia;
      B *ba;
    };
    sa.ba = &sb;
    存指针比较好。
      

  2.   

    因为sb指向的数据在变化,我的程序里面A中的B ba[N];其实是一个数组,可以把它当做一个队列来用,这样可以将sb的数据不断复制到ba[N]中,就可以存储一段时间内的值,对延时较大的程序来说很有用,这就是不用指针的原因,而且我也不是太会用指针..