以下内容说明:windows是采用VS2010,Linux下是使用Eclipse 20140224-0627
一、子类继承模板基类的时候,只能继承一个指定的实例化,在子类的初始化列表中的实例化信息(本例中为<string, int, double>),在Windows下可以省略,在Linux下不可以省略,例子如下:
class CFFundbriefInfo
: public ConfigFileBase<string, int, double>{
public:
CFFundbriefInfo():ConfigFileBase <string, int, double>(“test”, 10, 20.9){};
CfgTypeEnum GetCfgType() { return 0; };
const char* GetCfgName() { return "test"; };
};
报错信息如下:
error: class ‘CFCurrencyInfoFile’ does not have any field named ‘ConfigFileBase’
二、在使用模板的std的容器的迭代器时,Windows下定义迭代器可以不需要在前面写typename,Linux下的Eclipse必须要写,否则编译不过。
for(<