Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/138.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 错误:初始化类型为';的非常量引用无效&';从类型为';的临时*常数';_C++_Windows_Operator Overloading - Fatal编程技术网

C++ 错误:初始化类型为';的非常量引用无效&';从类型为';的临时*常数';

C++ 错误:初始化类型为';的非常量引用无效&';从类型为';的临时*常数';,c++,windows,operator-overloading,C++,Windows,Operator Overloading,我在互联网上搜索了一个小时,向我的朋友询问答案,以帮助我解决代码中的这个小错误。 这就是我试图运行的: BinStabloMapa<string,string> m; string s1("Sarajevo"), s2("Zagreb"); m[s1] = "BiH"; m[s2] = "Hrvatska"; { BinStabloMapa<string,string> m2(m); BinStabloMapa<string,string> m

我在互联网上搜索了一个小时,向我的朋友询问答案,以帮助我解决代码中的这个小错误。 这就是我试图运行的:

BinStabloMapa<string,string> m;
string s1("Sarajevo"), s2("Zagreb");
m[s1] = "BiH";
m[s2] = "Hrvatska";
{
    BinStabloMapa<string,string> m2(m);
    BinStabloMapa<string,string> m3;
    m3=m;
    m.obrisi(s1);

    cout << m2.brojElemenata() << " ";
    cout << m2[s1] << " ";
    cout << m3.brojElemenata() << " ";
    cout << m3[s1] << " ";
}

cout << m.brojElemenata();
cout << " '" << m[s1] << "' ";
m.obrisi();
cout << m.brojElemenata();
cout << " '" << m[s2] << "'";
binstablomapam;
字符串s1(“萨拉热窝”)、s2(“萨格勒布”);
m[s1]=“波黑”;
m[s2]=“Hrvatska”;
{
BinStabloMapa m2(m);
BinStabloMapa m3;
m3=m;
m、 obrisi(s1);

coutChange
将此
返回到
将此
返回到
将此
返回到
将此
返回到
将此
返回到
将此
返回到
将此
返回到
将此
返回到
将此
返回到
是否应标记为
窗口
?通常最好提供这些信息,但我不知道它是如何应用的。你在那个函数中有两个返回语句,其中一个没有抛出错误。你的结论是什么?我在上一个问题中有个人告诉我应该标记操作系统,但如果不合适,我会取消标记。哦,天哪,我在第一次返回时在“this”前面加了一个“*”,现在很好。我怎么没看到这个:o这应该被标记为
windows
?提供这样的信息通常很好,但我不知道它是如何应用的。在这个函数中有两个返回语句,一个没有抛出错误。你的结论是什么?我在上一个问题中有个人告诉我应该标记操作系统,但如果不合适,我会取消标记。哦,我的天哪,我刚刚在第一次返回中的“this”前面添加了一个“*”,现在它很好。我怎么没有看到这一点:o这应该被标记为
windows
?提供这样的信息通常很好,但我不知道它是如何应用的。在该函数中有两个返回语句,其中一个没有抛出错误r、 你的结论是什么?我在上一个问题中有个家伙告诉我,我应该给操作系统贴标签,但如果它不合适,我会取消它的标签。哦,天哪,我在第一次返回时在“this”前面加了一个“*”,现在很好。我怎么没看到这个:o这应该贴标签
windows
?提供这样的信息通常很好,但我不知道它是如何应用的。你在那个函数中有两个返回语句,其中一个没有抛出错误。你的结论是什么?我在上一个问题中有个人告诉我应该标记操作系统,但如果不合适,我会取消标记。哦,天哪,我在第一次返回中在“this”前面加了一个“*”,现在它很好。我是怎么做到的没有看到这个:哦
template <typename TipKljuca,typename TipVrijednosti>
BinStabloMapa<TipKljuca,TipVrijednosti>& BinStabloMapa<TipKljuca,TipVrijednosti>::operator =(const BinStabloMapa<TipKljuca,TipVrijednosti> &m)
{
    if(this==&m) return this;    // ERROR APPEARS HERE 

    obrisiPomocna(korijen);
    korijen=0;

    kopiraj(korijen, m.korijen, 0);
    return *this;
}