C++模板类的问题 map<GUIDType,T*>::iterator 有错,应该如何改?

每天早晨一问:#include<map>#include"IActor.h"#include"GlobalVariable.h"usingnamespacestd;tem... 每天早晨一问:
#include <map>
#include "IActor.h"
#include "GlobalVariable.h"using namespace std;
template< class T>
class CTemplateManager
{
public:
CTemplateManager(void);
virtual ~CTemplateManager(void);
private:
map<GUIDType,T*> _actors;
map<GUIDType,T*>::iterator _itrActors;
public:
void Add(T* pActor);
T* LookupById(GUIDType id);
void Remove(GUIDType id);
void Restore();
void Store();
};
请问各位大侠,
编译报错:
templatemanager.h(16): warning C4346: “std::map<GUIDType,_Kty*>::iterator” : 依赖名称不是类型
templatemanager.h(16): error C2146: 语法错误 : 缺少“;”(在标识符“_itrActors”的前面)
templatemanager.h(16): error C2501: “CTemplateManager<T>::_itrActors” : 缺少存储类或类型说明符是什么缘故.
是 map<GUIDType,T*>::iterator _itrActors;有错,那么应该怎么改
展开
 我来答
匿名用户
2013-06-08
展开全部
要这么些typename map<GUIDType,T*>::iterator _itrActors;
加上typename 因为编译器不清楚map的iterator是否是个类型 需要通过typename告诉编译器 这是个类型
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式