编译器为什么会抱怨赋值运算符存在歧义重载?
创始人
2024-12-08 18:00:40
0

在C++中,如果类中有多个版本的赋值运算符函数(如有不同参数类型或数量),编译器会抱怨存在歧义重载的问题。此时,需要显式地指定需要使用的赋值运算符。例如:

class MyClass {
public:
    int x, y;
    MyClass(int a, int b) : x(a), y(b) {}
    MyClass& operator= (const MyClass& obj) {
        x = obj.x;
        y = obj.y;
        return *this;
    }
    MyClass& operator= (int i) {
        x = i;
        y = i;
        return *this;
    }
};

int main() {
    MyClass obj1(1, 2);
    MyClass obj2(3, 4);
    obj1 = obj2;  // 此处赋值运算符会存在歧义重载
    obj1.operator=(obj2);  // 显式地指定使用哪个赋值运算符
    obj1 = 5;  // 同样存在歧义重载
    obj1.operator=(5);  // 显式地指定使用哪个赋值运算符
    return 0;
}

在上述示例中,我们定义了两个不同版本的赋值运算符函数,针对该问题,我们使用了“obj1.operator=(obj2)”和“obj1.operator=(5)”的方式显式地指定了需要使用哪个赋值运算符函数。

相关内容

热门资讯

黑科技辅助挂(德州免费)wPk... 德州新手教程相关信息汇总(需添加指定威信136704302获取下载链接);黑科技辅助挂(德州免费)w...
黑科技脚本(Wepoke总结)... 黑科技脚本(Wepoke总结)轰趴十三水原本是真的有挂!太坑了果然真的是有挂(2023已更新)(哔哩...
黑科技攻略(微扑克模拟器)wp... 黑科技攻略(微扑克模拟器)wpk游戏原先是有挂!太嚣张了确实存在有挂(2025已更新)(哔哩哔哩);...
黑科技有挂(哈糖大菠萝洗牌)w... 黑科技有挂(哈糖大菠萝洗牌)wPk好像存在有挂!太嚣张了一直有挂(2026已更新)(哔哩哔哩);实战...
黑科技脚本(微扑克ai)Wep... 黑科技脚本(微扑克ai)WepokE确实存在有挂!太嚣张了本然真的是有挂(2020已更新)(哔哩哔哩...
黑科技私人局(aapoker辅... 黑科技私人局(aapoker辅助)AAPoKER真是是有挂!太嚣张了原来是有挂(2025已更新)(哔...
黑科技苹果版(Wepoke助手... 黑科技苹果版(Wepoke助手)wPK原生存在有挂!太实锤了竟然存在有挂(2024已更新)(哔哩哔哩...
黑科技代打(德扑之星模拟器)a... 黑科技代打(德扑之星模拟器)aapokEr固有真的是有挂!太夸张了一直是有挂(2025已更新)(哔哩...
辅助黑科技(aapoker教程... 辅助黑科技(aapoker教程)epoker先前是真的有挂!太夸张了起初真的有挂(2022已更新)(...
黑科技存在(微扑克ai)Wep... 黑科技存在(微扑克ai)WepokE确实存在有挂!太嚣张了总是真的是有挂(2023已更新)(哔哩哔哩...