質問: テンプレート化されたクラスからの単一メソッドのテンプレート特化 テンプレートクラスを含む次のヘッダーが少なくとも2つの.cppファイル、このコードは正しくコンパイルされます。template <class t> class tclass { public: void dosomething(std::vector<t> * v); }; template <class t> void tclass<t>::dosomething(std::vector<t> * v) { // do something with a vector of a generic t } template <> inline void tclass<int>::dosomething(std::vector<int> * v) { // do something with a vector of int's } ただし、特殊化メソッドのインラインに注意してください。メソッドが複数回定義されているため、リンカーエラー(vs2008ではlnk2005)を回避する必要があります。私の知る限り、完全なテンプレートの特化は単純なメソッド定義と同じだからです。それで、inlineを削除するにはどうすればよいですか?コードを使用するたびにコードを複製しないでください。 googleを検索して、soのいくつかの質問を読んで、提案されたソリューションの多くを試しましたが、正常にビルドできませんでした(少なくともvs 2008ではそうではありません)。ありがとう!
回答: キーワードをインラインで削除する理由はありません。 とにかくコードの意味は変わりません。