• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:templateクラス中のtypedef enumを戻り値にする方法)

templateクラス中のtypedef enumを戻り値にする方法

このQ&Aのポイント
  • VisualStudio2003でtemplateの使い方の学習中です。templateクラス中のtypedef enumを戻り値にする方法について教えてください。
  • CTreeMngクラスのテンプレートの特定の型を返すために、typedef enumを使用したいです。しかし、正しい書き方がわかりません。
  • エラーメッセージによると、CTreeMng<MYTYPE>::RESULTは依存名ではないとされています。どのように書けば正しくなるのかアドバイスをお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

 こんばんは。  ×template<class MYTYPE> CTreeMng<MYTYPE>::RESULT CTreeMng<MYTYPE>::SetPotision( ){}  ↓  ○template<class MYTYPE> CTreeMng<MYTYPE>::RESULT CTreeMng<MYTYPE>::SetPotision(NODE_POSITION pos){}  余談ですが、実の所、テンプレートはヘッダーのみに書くものです。

synthk
質問者

お礼

すみません。質問の際に書くのを忘れていました。 template<class MYTYPE> CTreeMng<MYTYPE>::RESULT CTreeMng<MYTYPE>::SetPotision ( NODE_POSITION pos ){ } としたのですが、やはり同じエラーでした。 #余談ですが、実の所、テンプレートはヘッダーのみに書くものです。 あ、そうなんですか、ヘッダにすべて書けば確かに上記問題は解決します。 ありがとうございました。

synthk
質問者

補足

#余談で頂いたアドバイスで納得しました。 クラステンプレートはクラスのテンプレート(雛形) よってヘッダに書くもの クラスではない。 ありがとうございます。