我有一個教室,它擁有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