我有一个类 Room,它包含一个 shared_ptrs 到 Option 对象的向量,如下所示:
private:
vector<shared_ptr<Option> > options;
但是由于某种原因,当我构建时,我收到以下错误:
- “shared_ptr”:非特化类模板不能用作模板参数“_Ty”的模板参数,需要一个真实类型
- 'std::tr1::shared_ptr' : 使用类模板需要模板参数列表
奇怪的是,我还有一个 shared_ptrs 向量,语法完全相同,但那个没有问题。
还有很多地方会出现错误“'Option': undeclared identifier”,这让我觉得这可能是 Option 类的问题,但似乎没问题。这是选项的代码:
选项.h:
#pragma once
#include "Room.h"
#include <memory>
using namespace std;
class Option
{
protected:
int id;
char* text;
public:
Option(void);
Option(int, char*);
virtual ~Option(void);
char* getText();
int getID();
};
选项.cpp:
#include "Option.h"
#include "Room.h"
#include <memory>
using namespace std;
Option::Option(void)
{
}
Option::Option(int newID, char* newText){
id = newID;
text = newText;
}
Option::~Option(void)
{
}
char* Option::getText(){
return text;
}
int Option::getID(){
return id;
}