cla*_*l3r 25 c++ reference member
我有这门课
class CamFeed {
public:
// constructor
CamFeed(ofVideoGrabber &cam);
ofVideoGrabber &cam;
};
Run Code Online (Sandbox Code Playgroud)
而这个构造函数:
CamFeed::CamFeed(ofVideoGrabber &cam) {
this->cam = cam;
}
Run Code Online (Sandbox Code Playgroud)
我在构造函数上得到了这个错误:''的构造 函数必须显式初始化引用成员''
什么是解决这个问题的好方法?
jua*_*nza 38
您需要使用构造函数初始化列表:
CamFeed::CamFeed(ofVideoGrabber& cam) : cam(cam) {}
Run Code Online (Sandbox Code Playgroud)
这是因为引用必须引用某些东西,因此不能默认构造.进入构造函数体后,所有数据成员都已初始化.你的this->cam = cam;行真的是一个赋值,将引用的值赋给cam任何this->cam引用的值.
| 归档时间: |
|
| 查看次数: |
23510 次 |
| 最近记录: |