//Forward declaration
class MyType;
class Factory{
template<class T>
static T* CreateObject(T& newOb){
return &newOb;
}
//Other non template functions
}
//In main (error causing line)
MyType tmptype;
MyType* newMyType = Factory::CreateObject<MyType>(tmptype);
このコードは、このエラーの原因: 警告:自動 `がMyType *工場へ 未定義の参照を:: CreateObjectの(がMyType &「)C++テンプレートのメンバ関数への未定義参照
また、私はこの警告を受けますコマンドラインで--enable-auto-importを指定せずにインポートを有効にしました
さらに、タイプが正しく含まれていない可能性を排除するint型を使用すると、それでも機能しません。
クラスファクトリの前にテンプレートがありません –
marinara
クラス定義の終了セミコロンもありません。 –
ランダムな他のコンパイルエラーではなく、問題を再現するコードを投稿してください... – sth