16

我正在尝试在 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;
}
4

1 回答 1

31

在 C++ 中是

Method::printStuff();

并且您必须将方法声明为static.

class Method{
    public:
    static void printStuff(void){
        cout << "hahaha!";
    }
};

::称为范围解析运算符。如果它在类实例上,您可以调用该方法.,但不需要该实例(它是静态的并且全部......)。

于 2012-09-08T19:25:03.940 回答