类型/值不匹配
问题描述:
我有这个类:类型/值不匹配
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问题。
答
std::vector
有多个模板参数(Allocator
)。
你可以解决它这种方式,例如
template<typename Bar, template<typename ...> class Container>
class Foo
{
Container<Bar> myContainerBar;
};
class FooSpecialization : public Foo<std::string, std::vector>
{
};
'的std :: VECTOR'有不止一个模板参数。 – Jarod42
顺便说一句,'FooSpecialization'不是专业化的。 – Jarod42