c ++编译器无法为类生成operator =

时间:2017-06-16 17:05:28

标签: c++ compiler-errors reference c++builder c++builder-10.1-berlin

此代码:

struct TToken
{
    UnicodeString &DBIDs;
    std::vector<TToken> T;
    TToken(UnicodeString &DI) : DBIDs(DI) {}
    void Append(void) {T.push_back(TToken(DBIDs));}
};

UnicodeString DI="25,40,55";
TToken T(DI);
if (T.DBIDs==DI) // if I comment out this comparison it works fine
....

生成上述编译器错误(我使用C ++ Builder 10.1 Berlin)。

如果我将UnicodeString引用更改为指针,则一切都按预期工作。有谁知道为什么引用会产生错误?

顺便说一句,是否有更简单的方法使DBIDs可用于每个创建的vector元素,而不是一直传递指针/引用? static成员并不好,我确实看过模板表达式,但无法得到可接受的答案。

0 个答案:

没有答案