2013-11-15 3 views
0

내가 구조체의 벡터에 구조체를 추가하려합니다. 내가 점점 오전 오류가 라인C++와 push_back 컴파일러 오류 "

n[i].Tags.push_back[nt]; 

vector<udtWChar2> n; 
    vector<udtTag>_tags; 

for (unsigned t=0;t<_tags.size();t++) 
{ 
    udtTag &nt=_tags[t]; 
    for (int i=nt.PosStartTag;i<nt.PosStartTag+nt.CoveredLen;i++) 
    { 
     n[i].Tags.push_back[nt]; 
    } 
} 

"포인터 기능은 기능을 "호출 호출 할 수 있습니다 여기에

내 선언은 다음과 같습니다.

struct udtTag 
{ 
    int PosStartTag; 
    int LenStartStart; 
    int PosEndTag; 
    int LenEndTag; 
    int CoveredLen; 
    eTagType Type; 
    wstring Value; 
}; 

struct udtWChar2 
{ 
    wstring Text; 
    int OrigPos; 
    int AbsSpeed; 
    int Bookmark; 
    bool IsTag; 
    vector<udtTag>Tags; 
}; 

내가 뭘 잘못했는지 모르겠다. 누군가 제발 도와 줄 수 있니? 감사합니다.

+3

'n [i] .Tags.push_back (nt);' – juanchopanza

답변

2

Tags.push_back[nt]push_back 메서드 호출이 아닙니다. 컴파일러는 push_back.operator[]에 전화하기를 원한다고 생각합니다. 대괄호를 괄호로 대체하십시오.

... Tags.push_back(nt);