在类声名里:
CButtonST m_btnN1;
CButtonST& btnCurrent;
然后运行说要在构造函数里先赋值:
:\WINDOWS\Desktop\soha\sohaDlg.cpp(65) : error C2758: 'btnCurrent' : must be initialized in constructor base/member initializer list
c:\windows\desktop\soha\sohadlg.h(74) : see declaration of 'btnCurrent'
然后我在构造函数里这样:
btnCurrent=m_btnN1;还是不行:
C:\WINDOWS\Desktop\soha\sohaDlg.cpp(65) : error C2758: 'btnCurrent' : must be initialized in constructor base/member initializer list
c:\windows\desktop\soha\sohadlg.h(74) : see declaration of 'btnCurrent'
C:\WINDOWS\Desktop\soha\sohaDlg.cpp(70) : error C2582: 'CButtonST' : 'operator =' function is unavailable
这是怎么回事 呢?
CButtonST m_btnN1;
CButtonST& btnCurrent;
然后运行说要在构造函数里先赋值:
:\WINDOWS\Desktop\soha\sohaDlg.cpp(65) : error C2758: 'btnCurrent' : must be initialized in constructor base/member initializer list
c:\windows\desktop\soha\sohadlg.h(74) : see declaration of 'btnCurrent'
然后我在构造函数里这样:
btnCurrent=m_btnN1;还是不行:
C:\WINDOWS\Desktop\soha\sohaDlg.cpp(65) : error C2758: 'btnCurrent' : must be initialized in constructor base/member initializer list
c:\windows\desktop\soha\sohadlg.h(74) : see declaration of 'btnCurrent'
C:\WINDOWS\Desktop\soha\sohaDlg.cpp(70) : error C2582: 'CButtonST' : 'operator =' function is unavailable
这是怎么回事 呢?
解决方案 »
- 学完孙鑫老师的书,还需要补充什么知识?
- 有关tracker的问题
- 使用invalidate()刷新,但invalidate也把在它后绘制的图像刷新掉了?
- 请问GGJJ们 我的勾子程序中的代码为什么会执行两次?
- vc6.0如何打开URL网站
- 是不是以自由线程的方式使用COM,也需要调用CoInitialize?
- 怎么把COMBOBOX 里面的东西 一次性删除光?
- Basic question when Build a program
- 怎样将在IE的弹出菜单,工具条中加上自己的菜单项目和按钮?
- 求教,spy++ 的使用问题
- 紧急求救Socket的答案
- 除了用SetItemText外,如何在一个树叉里再存放两个值!谁来帮帮我!
两种办法:
CButtonST m_btnN1;
CButtonST& btnCurrent=m_btnN1;或假定你的构造函数为CYourClassCYourClass::CYourClass() : btnCurrent(m_btnN1)
{
...
}
CClass::CClass() : m_n(5), btnCurrent(m_btnN1)
CClass::CClass() : m_n(5), btnCurrent(m_btnN1)
但不是要你在构造函数里面初始化,它的意思是你在构造的时候进行初始化
引用初始化是要使用初始化列表,形式为在构造函数后面加“:”,然后
btnCurrent(m_btnN1)
不过前面几位都说了;不过这样做显然很愚蠢
因为直接btnCurrent=m_btnN1;就可以了。
但是不要把它放在构造函数里面,因为根本就不认识;
bluebohe(薄荷)说得好,简洁明了
CButtonST m_btnN1;
CButtonST& btnCurrent=m_btnN1;