2
私はexplicitly instantiate a variadicコンストラクタにしようとしています。この最小限の例をprint all argumentsにすると、GCC 5.3で64ビットのWin 7でMinGW-w64が表示されるのと同じエラーが発生します。variadicコンストラクタを明示的にインスタンス化しています:template-idがテンプレート宣言と一致しません
struct stf {
template<typename... Args> stf(Args&&... args){
using expand_type = int[];
expand_type{(print(args), 0)... };
}
};
//error on next line:
//template-id 'stf<char*, char*>' for 'stf::stf(char*, char*)'
//does not match any template declaration
template stf::stf<char*,char*>(char*,char*);
あなた@Samをありがとうございます。私はコンストラクタからの引数を転送しようとしていたので、私は先例転送の例(上にリンクされていない)を見つけ、次に他の2つの例を見つけました。すべてをまとめてみると、xvalueの参照はパラメータパックの必須の機能ではないことに気づきませんでした。私の防衛では、私は機械工学者に過ぎず、私は数年前に書きました古いコードを修正するために戻っています: - P –