関数テンプレートをC++で特殊化する必要があります。パラメータなしの関数のテンプレートの特殊化
template<typename T>
void doStuff<T>() {}
template<>
void doStuff<DefinedClass>();
と
template<>
void doStuff<DefinedClass2>();
に私は(それがコンパイルされていないので)それが正しい構文ではありませんね。私はどうすればいいのですか?
doStuff<DefinedClass>
に未定義のテンプレートパラメータがないので、.cppでボディを宣言することは可能でしょうか?
注:doStuffは変数を宣言するために本体を使用します。
あなたは「それがコンパイルされていない」と言うとき、あなたは、関連するエラーメッセージを含める必要があります。 –
' void doStuff (){}'は最初のところでもコンパイルされます(この ''は無効です)。 –