构造函数传参数不能用引用类型吗
Rect<T>::Rect(T length,T height) 这句中构造函数的传参数为什么不能写成引用
比如这样Rect<T>::Rect(T &length,T &height)
Rect<T>::Rect(T length,T height) 这句中构造函数的传参数为什么不能写成引用
比如这样Rect<T>::Rect(T &length,T &height)
2015-11-16
如果你的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; }
举报