|
#include <vector>
using namespace std;
vector<int> vTimeTable;
vTimeTable.push_back(0);
vTimeTable.push_back(1);
vTimeTable.push_back(2);
vTimeTable.push_back(3);
vTimeTable.push_back(4);
위의 예처럼 vTimeTable을 선언 및 초기화한 후에 사용할려고 합니다.
그런데, 이때 push_back(), size() 와 같은 method는 에러가 나지 않습니다.
그런데, insert 및 erase method는 아래처럼 에러가 납니다.
vTimeTable.insert(i, Time);
vTimeTable.erase(i);
[C++ Error] frmProfileOne.cpp(382): E2285 Could not find a match for 'vector<int,allocator<int> >::insert(int,int)'
[C++ Error] frmProfileOne.cpp(405): E2285 Could not find a match for 'vector<int,allocator<int> >::erase(int)'
IDE상에서 insert 함수의 원형은 다음처럼 나옵니다.
Function int * vector<int, allocator<int> >::insert(int *, const int&)
왜 저런 에러가 발생할까요 ?....
그래서 vTimeTable.erase(vTimeTalbe.end()) 처럼 테스트를 해보면, 컴파일은 됩니다.
그런데, erase 함수실행시에 바이올레이션 에러가 납니다.
몇가지 추가적인 컴퍼넌트를 사용한게 있지만, 그때문인지 왜 저 함수가 에러가 나는지 모르겠습니다.
조언을 부탁드립니다.
|