gpt4 book ai didi

c++ - 错误 C2593 : 'operator =' is ambiguous; Compiled fine on VS6, 但我在 VS10 上收到该错误

转载 作者:塔克拉玛干 更新时间:2023-11-03 08:02:01 25 4
gpt4 key购买 nike

我收到以下错误:

1>c:\documents and settings\krzys\desktop\desktop icons\ollydbg\plugins\odbgscript\OllyLangCommands.cpp(3602): error C2593: 'operator =' is ambiguous
1> c:\documents and settings\krzys\desktop\desktop icons\ollydbg\plugins\odbgscript\var.h(45): could be 'var &var::operator =(const long double &)'
1> c:\documents and settings\krzys\desktop\desktop icons\ollydbg\plugins\odbgscript\var.h(42): or 'var &var::operator =(const int &)'
1> c:\documents and settings\krzys\desktop\desktop icons\ollydbg\plugins\odbgscript\var.h(41): or 'var &var::operator =(const ulong &)'
1> while trying to match the argument list '(var, std::streamsize)'

在此代码处:

map<string, var> variables;
streamsize sum = 0;

if (sum) {
variables["$RESULT"] = sum; // Error 1
return true;
}

class var
{
public:
ulong dw;
string str;
long double flt;
vtype vt;
bool isbuf;
int size;

var();
var(const var& rhs);
var(string& rhs);
var(ulong rhs);
var(int rhs);
var(long double rhs);

// less than zero this < rhs
// zero this == rhs
// greater than zero this > rhs
int compare(const var& rhs) const;
int compare(const string& rhs) const;
int compare(const ulong& rhs) const;
int compare(const int& rhs) const;
int compare(const long double& rhs) const;

string strclean(void);
string strbuffhex(void);
string strbuff(void);

var& operator=(const var& rhs);
var& operator=(const string& rhs);
var& operator=(const ulong& rhs); // Error 4
var& operator=(const int& rhs); // Error 3
var& operator=(unsigned short& rhs);
var& operator=(unsigned char& rhs);
var& operator=(const long double& rhs); // Error 2

var& operator+=(const var& rhs);
var& operator+=(const string& rhs);
var& operator+=(const ulong& rhs);
var& operator+=(const int& rhs);
var& operator+=(const long double& rhs);

void resize(ulong newsize);

};

使用 VS6 完美编译,但现在使用 VS10 时出现此错误。

最佳答案

检查总和的类型和变量的方法。他们有可能在从 VS6 到 VS2010 的转换中添加了新的 operator= 重载。

关于c++ - 错误 C2593 : 'operator =' is ambiguous; Compiled fine on VS6, 但我在 VS10 上收到该错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3848620/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com