我很想知道矢量類型定義中「ref」的含義是什麼。C++ Vector關鍵字「ref」
我新的C++和上一段代碼,我剝離出來學習,我發現
vector<ref<StupidBug> > bugs;
其中「StupidBug」是一類。
它不會在GCC編譯/ C++ 11,因爲「模板參數‘>’是無效的」,但移動「>」的左側,接近前一個仍然給出了同樣的錯誤
這使我感到困惑,我不知道錯誤在哪裏。
這段代碼已經過了幾年了,可能會寫錯嗎? 「ref」屬於C++嗎?
這是一個多版本嗎?或模板?
的背景資料:
全是有關插入和移動網格「錯誤」和矢量持有錯誤的數量,並把它們在一定的位置。
這裏的代碼,首先我有一個Stupidbug類
class StupidBug
{
public:
int x();
int y();
// member initialization list
StupidBug(GraphID_t i=-1): cellID(i) {}
void move();
void draw(const eco_string& canvas);
};
並與「裁判」的載體是另一個類:
class Model: public Space
{
public:
urand u; //random generator for positions
int tstep; //timestep - updated each time moveBugs is called
int scale; //no. pixels used to represent bugs
vector<ref<StupidBug> > bugs;
addBugs(int nBugs);
void addBugs();
void moveBugs();
void draw(TCL_args args);
};
感謝您的回答!
這不是關鍵字。它是一個函數模板的名稱。 – EJP
根據@StoryTeller的評論,您可能正在尋找std :: vector> –
SVictor
@EJP你是完全錯誤的。它是用戶定義的智能指針。 –