※ ChatGPTを利用し、要約された質問です(原文:テンプレートクラスとSTLを利用したMyListクラス)
テンプレートクラスとSTLを利用したMyListクラス
このQ&Aのポイント
STLのリストを使い自分だけのMyListクラスを作ろうとしたが、コンパイルできない問題が発生
コンパイルエラーメッセージは「std::list<T>::iterator' : 依存名は型ではありません。」
CMyListクラスの定義が一部コメントアウトされている
テンプレートクラスとSTLを利用したMyListクラス
こんにちは。STLのリストを使い自分だけのMyListクラスを作ろうとしたのですが、コンパイルできません。
エラーメッセージは警告 std::list<T>::iterator' : 依存名は型ではありません。 とでます。
ご教授お願いします。
#include<list>
#include<iterator>
template <class T> class CMyList
{
public:
CMyList();
//virtual ~CMyList();
//bool HasNext();
//T Next();
//void Pushback( T t );
//void EraseCheck();
//T GetFirst();
private:
std::list< T > m_List;
std::list< T >::iterator m_It;//コンパイルエラー
};
template <class T> CMyList<T>::CMyList()
{
m_List.clear();
std::list< T > ::iterator it = m_List.begin();//こう宣言する分にはOK
m_It = m_List.begin();
}
int main() {
CMyList<int> m_List;
return 0;
}
お礼
ああ、なるほど!目からうろこでした Tの前にTypename付けたりしてました。 すばやい対応ありがとうございました。