尝试将指针列表作为参数传递时,模板参数错误太少?

时间:2015-05-31 21:07:21

标签: c++ list class pointers vector

我制作了这个“社交名媛”课程和一个单独的“派系”课程。 Socialite对象的一个​​参数是指向“Factions”的指针向量。

,我之前没有使用'factionlist'作为参数,而是使用了社交名录课程
class Socialite
{
public:

 Socialite();
 Socialite(string lastName, string firstName, string userId, string picture, string website, string description, list<Faction*> factionlist);

 //other methods

 void newSocialite(string lastName, string firstName, string userId, string picture, string website, string description, list<Faction*> factionlist);
 void deleteSocialite(string lastName, string firstName, string userId, string picture, string website, string description, list<Faction*> factionlist);

 //other methods

private:

 string lastName_;
 string firstName_;
 string userId_;
 string picture_;
 string website_;
 string description_;

 vector<Socialite *> socialiteptr_;
 list<Faction*> factionlist_;



};

但是当我把它包括在内时,我得到错误:

 error C2976: 'std::list' : too few template arguments  

 error C2065: 'Faction' : undeclared identifier 
每次我的方法/构造函数包含一个派系列表时,

在同一行。我查找的解决方案涉及使用模板的代码,我没有使用任何,所以我不明白什么是错的。

额外信息:我的指针向量以这样的方式存储:

 vector<Faction *> factionptr_;

我以这种方式将其列入一个列表:

 list<Faction*> list_factions(factionptr_.begin(), factionptr_.end());

我做错了什么?

1 个答案:

答案 0 :(得分:0)

正如@Wojtek Surowka所说,你可以转发声明select substr(col2, 1, 25), substr(col3, 1, 75) into var2, var3 from table1 where col1 = var1;

class Faction

或者您可以使用class Faction; class Socialite { ... } 声明包含头文件(如果在Faction文件中声明Faction):

Fraction.h

但在这种情况下,#include "Faction.h" class Socialite { ... } 不应包含Faction.h类标题。