기본카테고리

vc2008컴파일시 std::_Vector_const_iterator<_Ty,_Alloc> 오류 해결

DevAdd 2012. 5. 31. 13:36




vc2008 컴파일시

다음 코드에서 오류발생

 

int_t idx = 1;
for(CVTStringSeq::iterator it = (CVTStringSeq)tagList.begin();
it != tagList.end();
++it, ++idx)
{
CPairStringSeq pss=(CPairStringSeq)*it;
QualityTagInfo qti=(QualityTagInfo)pss.first;
...

}

오류내용
d:\dev\ecminer\scr\ski\libs2008\mondata\qmsdatafetcher.cpp(941) : error C2440: '형식 캐스팅' : 'std::_Vector_const_iterator<_Ty,_Alloc>'에서 'CVTStringSeq'(으)로 변환할 수 없습니다.
1> with
1> [
1> _Ty=CPairStringSeq,
1> _Alloc=std::allocator<CPairStringSeq>
1> ]
1> 소스 형식을 가져올 수 있는 생성자가 없거나 생성자 오버로드 확인이 모호합니다.

 

해결방법은

int_t idx = 1;

for(CVTStringSeq::const_iterator it = tagList.begin();

it != tagList.end();
++it, ++idx)
{
CPairStringSeq pss=(CPairStringSeq)*it;
QualityTagInfo qti=(QualityTagInfo)pss.first;
...
}