【发布时间】:2017-08-17 14:34:58
【问题描述】:
我正在制作一个具有可变模板参数的模板类。但是,当我定义并调用一个方法时,我的编译器说该方法没有定义。
template <class T, class... Args>
class Params {
private:
vector<void*> params;
int n;
void initializeParam(T a, Args... args) {
params[n] = (void*)&a;
n++;
initializeParam(args...);
}
void initializeParam() {}
public:
Params(T a, Args... args) : params(vector<void*>(sizeof...(Args))) {
n = 0;
initializeParam(a, args...); // Compiler -> initializeParam is not defined
}
};
【问题讨论】:
-
如果您遇到错误,请同时发布其中最相关的部分。
-
为什么要使用 void*?
标签: c++ c++11 templates recursion variadic-templates