类中的向量(没有类类型)

dag*_*i12 1 c++ class vector

我在课堂上遇到了一些麻烦.

#include <vector>
using namespace std;

class sth {
    vector<int> tab();
    public:
        void add(int i);
};

void sth::add(int i){
    tab.push_back(i);
}

int main() {
    sth a;
    a.add(10);
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

这个简单的代码导致11 5 [Error] '((sth*)this)->sth::tab' does not have class type 任何想法发生了什么?

Sho*_*hoe 6

以下实际上是一个函数声明:

vector<int> tab();
Run Code Online (Sandbox Code Playgroud)

如果你想声明一个std::vector,它应该是:

vector<int> tab;
Run Code Online (Sandbox Code Playgroud)