Type/value class 模板的模板参数列表不匹配
Type/value mismatch at in template parameter list for class template
我有这个class:
template<typename Bar, template<typename Bar> class Container>
class Foo
{
Container<Bar> myContainerBar;
};
和这个子class:
class FooSpecialization : public Foo<std::string,std::vector>
{
};
我在上面第二个代码片段的第一行(在 subclass 处)收到以下错误:
type/value mismatch at argument 2 in template parameter list for
‘template class Container> class 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>
{
};
我有这个class:
template<typename Bar, template<typename Bar> class Container>
class Foo
{
Container<Bar> myContainerBar;
};
和这个子class:
class FooSpecialization : public Foo<std::string,std::vector>
{
};
我在上面第二个代码片段的第一行(在 subclass 处)收到以下错误:
type/value mismatch at argument 2 in template parameter list for ‘template class Container> class 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>
{
};