簡體   English   中英

C ++ push_back編譯錯誤“

[英]C++ push_back compiler error "

我試圖在結構的向量中添加一個結構。

    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];
    }
}

我得到的錯誤是在行

 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;
};

我不明白我做錯了什么。 有人可以幫忙嗎? 謝謝。

表達式Tags.push_back[nt]不是方法push_back的調用。 編譯器認為你想調用push_back.operator[] 用括號替換方括號:

... Tags.push_back(nt);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM