andajian 发表于 2019-9-2 09:28:07

c++ 引用&怎么报错了

代码如下
#include <iostream>
using namespace std;
class Complex
{
public:
    int me1;
    int me2;
    Complex(int &z1,int &z2)
    {
      me1 = z1;
      me2 = z2;
    }
};

int main()
{
    Complex c1(3,2);
    Complex c2(c1);
    cout<<c2.me1<<" "<<c2.me2<<endl;
    return 0;
}

报错如下:
F:\newprofile\ana\main.cpp|17|error: invalid initialization of non-const reference of type 'int&' from an rvalue of type 'int'|

我就是个弟弟 发表于 2019-9-2 09:52:04

引用要用左值赋值的
int a = 3;
int b = 2;
Complex c1(a,b);

或者
Complex(const int &z1, const int &z2)

andajian 发表于 2019-9-2 17:45:11

我就是个弟弟 发表于 2019-9-2 09:52
引用要用左值赋值的
int a = 3;
int b = 2;


是不是说临时变量不能做引用参数

我就是个弟弟 发表于 2019-9-3 09:23:13

andajian 发表于 2019-9-2 17:45
是不是说临时变量不能做引用参数

最贱蛋的理解左值就是能用取地址符号取到地址的。
,你的理解应该是常量吧。
页: [1]
查看完整版本: c++ 引用&怎么报错了