我希望在所有应用程序类中都可以访问对象。所以,我虽然:在我的所有应用程序类中都可以访问一个对象
#include <iostream>
using namespace std;
class MyClass {
public:
MyClass(){}
int id(){return -1;}
};
extern const MyClass myClass;
int main() {
cout << myClass.id();
return 0;
}
而且无论我需要它,我会做:
的extern const的MyClass的MyClass的;
,只是使用它,比如:
cout << myClass.id();
可是,我错了。这返回错误:
error: passing 'const MyClass' as 'this' argument of 'int MyClass::id()' discards qualifiers [-fpermissive]
我猜我可以做static MyClass myClass;
,而不是。所以我会有或多或少相同的功能。
什么是最好的/正确的方法?
'int id()const {return -1; }' –
错误消息说你正在const对象上调用非const方法'id()'。 –