c++ - 模板<int v>类Foo的父类(super class)

标签 c++ templates inheritance superclass

假设我有一个模板类

template <int v>
class Foo {...}

我有一个功能
void f(...)

接受Foo <1>,Foo <2>等的任何对象作为输入,如何定义函数?看起来
void f(Foo x) 

不编译。 Foo <1>,Foo <100>,...和所有Foo的常见类型是什么?

最佳答案

What is a common type for Foo<1>, Foo<100>, ... and all Foo?



没有常见的类型。您可以做的是也将f设为模板
template <int v>
void f(Foo<v> x)
{
    //code here
} 

像上面一样,现在该函数将接受您提供的任何Foo

关于c++ - 模板<int v>类Foo的父类(super class),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61523151/

相关文章:

c++ - 模板类的模板参数

c# - 使用 "base"关键字时基类方法中的代码不执行

c++ - 在带有虚拟析构函数的多态继承中使用enable_shared_from_this

python - 访问父类(super class)属性

c++ - sockets和timer如何互不阻塞地使用?

c++ - 从 lambda 调用函数时的查找规则是什么?

c++ - 使用 std::list 和 std::shared_ptr 进行内存管理

c++ - 模板中的名称解析和实例化点

c++ - 我们应该更喜欢 Boost 还是标准库?

javascript - 使用 doT.js 递归