我有一个简单的类在头文件a.hh中:
#ifndef a_hh
#define a_hh
class a
{
public:
int i;
a()
{
i = 0;
}
};
#endif
接下来有一个文件:b.cc
#include <iostream>
#include "a.hh"
using namespace std;
int main(int argc, char** argv)
{
a obj;
obj.i = 10;
cout << obj.i << endl;
return 0;
}
>
到目前为止一切都很好。 我编译代码,编译也没问题。 但是只要我在类中添加了一个向量:
#ifndef a_hh
#define a_hh
class a
{
public:
int i;
vector < int > x;
a()
{
i = 0;
}
};
#endif
我收到以下编译错误:
> CC b.cc
"a.hh", line 7: Error: A class template name was expected instead of vector.
1 Error(s) detected.
在此将向量声明为成员的问题是什么?
#include <vector>
头文件? - Mysticiala::a()
在干嘛?那是不必要的限定符。删掉a::
就可以了。 - Eitan T