0

我遇到了一个问题,我的类中的一个字段不能被它的 .cpp 文件中的构造函数访问,原因我不知道 .cpp 没有继承它,我无法构造它以在我的其余部分中使用程序
这是包含我希望在 Test.h 中构建的字段的类

class Test
{
public:
    Test();
    virtual ~Test();
    void count();
    int counter();
};

这是 Test.cpp 中“计数器”字段的构造函数

Test::Test() : counter(0){}

据我对 C++ 的了解,这应该是正确的,因为 Test.cpp 包含 #include "Test.h" 并且在仅使用 main.cpp 而没有标题的情况下编写和构造类时,完全相同的代码可以工作,有什么想法吗?

4

2 回答 2

5

Test::Test() : counter(0){}- 你应该在这里初始化你的成员变量,而不是调用成员函数。

我猜你的意思是:

class Test
{
public:
    Test();
    virtual ~Test();
    void count();
    int counter; // no ()
};

正如尤里建议的那样

于 2012-07-31T13:43:46.050 回答
5

int counter();是一个函数声明。删除().

于 2012-07-31T13:43:49.857 回答