我有一个教室,它拥有shared_ptrs的载体,选择的对象,像这样:C++ - “非专业化的类模板”错误与shared_ptr的
private:
vector<shared_ptr<Option> > options;
但由于某些原因,当我建,我得到以下错误:
- “shared_ptr的”:非专业化的类模板不能作为模板参数“_Ty”,模板参数预计真正的类型
- “的std :: TR1 :: shared_ptr的”:使用类模板需要模板参数列表
奇怪的是,我也有一个shared_ptrs向量,语法完全相同,但是没有任何问题。
还有一堆地方出现错误“'选项':未声明的标识符”,这使我认为这可能是一个与Option类的问题,但它似乎很好。下面是选项的代码:
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();
};
Option.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;
}
你试过vector>选项; ? –
marcinj
2012-07-12 22:58:38
@luskan那没用! – 2012-07-12 23:15:12