yick 发表于 2017-5-29 22:35:30

c语言和C++混合编程的问题

本帖最后由 yick 于 2017-5-29 22:42 编辑

想将一个C语言的结构体里的指针变量赋值给C++里的派生类的一个私有成员变量(结构体类型的,到时候我可以转换修改一下,主要是赋值方式路径是怎样的)。
ps:我没有用C++编程过,所以不知道怎么办。


我就是想将ringbuf的值赋个C++的私有成员变量,但是我从没用C++编过程,所以有些不知所措,求指点。

ywlzh 发表于 2017-5-29 23:09:15

既然在构造函数里已经将m_pNalArray给NULL,要想赋值 所以就得有地方给将m_pNalArray赋值到那个结构体上去

无非就是指针赋值的问题倒不如直接将m_pNalArray定义成结构体指针 比如

strcut ringbuf * m_pNalArray;   而不是TNAL* m_pNalArray;

yick 发表于 2017-5-30 07:58:50

ywlzh 发表于 2017-5-29 23:09
既然在构造函数里已经将m_pNalArray给NULL,要想赋值 所以就得有地方给将m_pNalArray赋值到那个结构体上去...

感觉你说反了,不过是对的。
我直接这样做怎样,就是将ringbuf的值通过传参的形式放到派生类MyH264VideoStreamFramer的构造函数初始化列表当中去,
来替换m_pNalArray(NULL)中的NULL,怎么样?
如下:
MyH264VideoStreamFramer::MyH264VideoStreamFramer(UsageEnvironment& env,
    FramedSource* inputSource, H264EncWrapper* pH264Enc, H264DecWrapper* pH264Dec):
      H264VideoStreamFramer(env, inputSource),
      m_pNalArray(ringbuf), m_iCurNalNum(0), m_iCurNal(0), m_iCurFrame(0),
      m_pH264Enc(pH264Enc), m_pH264Dec(pH264Dec)
{

}
页: [1]
查看完整版本: c语言和C++混合编程的问题