在一个名为 的文件types.h
中,我定义了
struct entry {
entry( int a, int t ) : addr(a), time(t) {}
int addr;
int time;
};
在另一个文件中,我想使用这样的结构compress.h
:
#include "types.h"
#include <vector>
class Compress {
public:
void insert( int a, int t )
{
theVec.clear();
for (int i = 0; i < 10; ++i)
theVec.push_back( entry(a, t) );
}
private:
std::vector< entry > theVec;
};
在主文件中,我写了
#include "compress.h"
int main()
{
Compress *com = new Compress;
com->insert(10, 100);
return 0;
}
但是在 push_back 行,我得到了这些错误
error C2011: 'entry' : 'struct' type redefinition
see declaration of 'entry'
error C2027: use of undefined type 'entry'
see declaration of 'entry'
我该如何解决?