为了账号安全,请及时绑定邮箱和手机立即绑定

构造函数传参数不能用引用类型吗

Rect<T>::Rect(T length,T height)  这句中构造函数的传参数为什么不能写成引用

比如这样Rect<T>::Rect(T &length,T &height)

正在回答

3 回答

基本数据类型与引用数据类型

1 回复 有任何疑惑可以回复我~

如果你的T是基本类型 用引用做参数的话 实参是个值的话 可能会遇到右值引用问题

#include <iostream>//mooc提交用
using namespace std;//mooc提交用
class A{
public:
    A(int &xa,int &xb){cout<<"A(&,&)"<<endl;};
};
class B{
public:
    B(int &&a,int &&b){cout<<"B(&&,&&)"<<endl;};
};
int main(int argc, const char * argv[] )
{//---------------main--------------
    int i=1,j=2;
//使用变量时 B报错
    A a(i,j);
//    B(i, j);//报错
//使用右值时 A报错
//    A a1(1,2);//报错
    B b(1,2);
    //---------------main--------------
    return 0;
}


0 回复 有任何疑惑可以回复我~

明白了    后边传递的不是形参........

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
C++远征之模板篇
  • 参与学习       91156    人
  • 解答问题       318    个

本C++教程力求即学即会,所有知识以实践方式讲解到操作层面

进入课程

构造函数传参数不能用引用类型吗

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信