【发布时间】:2020-05-23 23:22:48
【问题描述】:
有没有办法编写一个模板类,以便成员函数的签名/原型依赖于模板参数?例如,如果我声明一个类foo 接受一个int N 模板参数,那么成员函数foo::bar() 的原型是否有可能有N 个相同类型的参数?我知道我可以将std::array 或std::vector 作为参数传递,但在应用程序中我认为这行不通。
template <int N>
class foo {
std::array<float, N> _data;
public:
foo() {};
~foo() {};
void bar(float arg0, float arg1, float arg2 /*, ... */) const;
};
【问题讨论】:
标签: c++ class c++11 templates signature