首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

GCC编译器下才会有的有关问题,构造函数冲突了,不理解是为什么

2013-11-14 
GCC编译器下才会有的问题,构造函数冲突了,不理解是为什么#include iostreamclass MyInt{public:MyInt()

GCC编译器下才会有的问题,构造函数冲突了,不理解是为什么
#include <iostream>
class MyInt{
     public:
     MyInt() {
          std::cout << "1" << std::endl;
     }
     MyInt(int a) {
          std::cout << "2" << std::endl;
     }

     void operator =(int a) {
          std::cout << "3" << std::endl;
     }

    
     MyInt(MyInt &b) {
          std::cout << "4" << std::endl;
     }
};

int main() {
     MyInt a;
     MyInt b = 10;  //和myInt(MyInt &b) 产生冲突
     std::cout << "-------------" << std::endl;
     MyInt c;
     c = 10;
     std::cout << "-------------" << std::endl;

     MyInt d;
     MyInt e = d;
}

GCC编译器下才会有的有关问题,构造函数冲突了,不理解是为什么
[解决办法]
因为 const MyInt& 可以绑定到临时对象上,然后就没有编译错误了。

热点排行