我试图在C ++类中创建一个方法,可以在不创建类实例的情况下调用该方法(如Java中的静态方法),但我一直遇到此错误:error: expected unqualified-id before ‘.’ token
这是我尝试编译的.cpp文件:
using namespace std;
#include <iostream>
class Method {
public:
void printStuff(void) {
cout << "hahaha!";
}
};
int main(void){
Method.printStuff(); // this doesn't work as expected!
return 0;
}
答案 0 :(得分:27)
在C ++中它是
Method::printStuff();
,您必须将方法声明为static
。
class Method{
public:
static void printStuff(void){
cout << "hahaha!";
}
};
::
称为范围解析运算符。如果方法在类实例上,则可以使用.
调用该方法,但不需要实例(它是静态的,所有...)。