2
可変のテンプレート引数を持つテンプレートクラスを作っています。しかし、メソッドを定義して呼び出すと、コンパイラーはそのメソッドが定義されていないと言います。C++でテンプレートクラスのメソッドを定義する
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
}
};
用テンプレート引数からクラスのテンプレート引数を区切るために持っている[MCVE]を投稿してください。 –
エラーが発生した場合は、最も関連性の高い部品も同様に投稿してください。 –
void *を使用する理由 –