vector::erase()をヘッダの関数定義で使用するには?

解決


 2014-12-10 18:32:47  No: 73896  IP: 192.*.*.*

いつもお世話になっております。
タイトルの件につきまして

環境は
Windows7 Professional 32bit
VC6 SP6です。

/*以下 CTest.hです。*/
#include <vector>
using namespace std;
class CTest  
{
public:
  CTest();
  virtual ~CTest();
  vector<int> m_v;
  void Test1();
  void Test2()
  {
    m_v.push_back(2);
    m_v.erace(m_v.begin());// ←error C2039: 'erace' : 'vector<int,class std::allocator<int> >' のメンバではありません。
  }
};

/*以下Test.cppです。*/
#include "Test.h"
void CTest::Test1()
{
  m_v.push_back(1);
  m_v.erase(m_v.begin()); // ←問題ありません。
}

Test1()でC2039がでる理由が知りたいです。
ちなみにTest2()で、
内部でerace()を使用しているclear()を使用してもC2039は出ません。

よろしくお願い致します。

編集 削除
 2014-12-10 18:36:58  No: 73897  IP: 192.*.*.*

上記下から5行目訂正します。
×Test1()でC2039がでる理由が知りたいです。
○Test2()でC2039がでる理由が知りたいです。

編集 削除
 2014-12-10 19:12:56  No: 73898  IP: 192.*.*.*

本当に申し訳ありません。
ただのタイプミスでした。
×m_v.erace()
○m_v.erase()
穴があったら入りたいです。

編集 削除