Ste*_*rst 1 c++ windows oop const visual-studio-2008
我有一个简单的例子,不能编译.我得到了关于const的以下警告
错误消息: 错误C2662:'Cfoo :: GetNum':无法将'this'指针从'const Cfoo'转换为'Cfoo&'转换失去限定符
class Cfoo
{
public:
bool RunMe( const Cfoo * bar ) {
int i = bar->GetNum() ;
}
int GetNum() {
return 7;
}
};
int _tmain(int argc, _TCHAR* argv[])
{
Cfoo a;
Cfoo b;
b.RunMe( &a);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
起初我认为这与GetNum没有返回const值有关.改变这似乎没有帮助.
我做错了什么?,建议,提示,例子,链接?
GetNum 必须承诺它不会通过使它成为const成员函数来改变对象的值
class Cfoo
{
public:
bool RunMe( const Cfoo * bar ) {
int i = bar->GetNum() ;
}
int GetNum() const { // !!!
return 7;
}
};
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2391 次 |
| 最近记录: |