类标题和在我的类.cpp文件中使用构造函数:“error:class'Test'没有任何名为'counter'的字段”

时间:2012-07-31 13:42:54

标签: c++ class constructor header field

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

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

这是Test.cpp

中字段'counter'的构造函数
Test::Test() : counter(0){}

根据我对C ++的了解,这应该是正确的,因为Test.cpp包含#include“Test.h”,当使用main.cpp而没有标题,任何想法时,完全相同的代码在编写和构造类时有效吗?

2 个答案:

答案 0 :(得分:5)

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

我猜你的意思是:

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

正如Yuri建议的那样

答案 1 :(得分:5)

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