类型/值不匹配

问题描述:

我有这个类:类型/值不匹配

template<typename Bar, template<typename Bar> class Container> 
class Foo 
{ 
    Container<Bar> myContainerBar; 
}; 

和这个子类:

class FooSpecialization : public Foo<std::string,std::vector> 
{ 
}; 

我得到以下错误在第二的第一行代码段以上(在子类):在自变量2中的模板的参数列表 “templat

类型/值不匹配E级集装箱>类Foo”

我也试过

class FooSpecialization : public Foo<std::string,std::vector<std::string>> 

没有成功。哪里不对?我找不到解决这个问题的SO问题。

+3

'的std :: VECTOR'有不止一个模板参数。 – Jarod42

+1

顺便说一句,'FooSpecialization'不是专业化的。 – Jarod42

std::vector有多个模板参数(Allocator)。

你可以解决它这种方式,例如

template<typename Bar, template<typename ...> class Container> 
class Foo 
{ 
    Container<Bar> myContainerBar; 
}; 


class FooSpecialization : public Foo<std::string, std::vector> 
{ 
};