我是C ++的新手。试图将基于Windows的程序移植到linux。我使用的平台是Ubuntu 13.03。编译器是g ++。
这是有问题的代码。
class CMapIDNames : public map< IDKey, string, CIDKeyLess >
{
} mapOfIDNames;
错误是:
错误:在'&lt;'标记
之前预期的模板名称
试图包含<functiontal>
和namespace::std
,但没有帮助。
答案 0 :(得分:5)
您需要添加<map>
并将其引用为std::map
。您似乎也错过了<string>
标题。
#include <map>
#include <string>
class CMapIDNames : public std::map< IDKey, std::string, CIDKeyLess >
{
};
但请注意,标准库容器不是为公共继承而设计的。你当然不应该多态地使用它们。