你的代码不是通过return返回的,是通过引用返回的,因此调用错了
是
double c;
fun((double)f, c);
cout<<"温度值是"<< c << endl;
那个k就不需要了。
void fun(double dFValue, double&dCValue)中的
return dCValue; 这一行删除
类型不一致,改为double c;
如果有一个新对象被定义(即创建了新对象),一定有构造函数被调用。
使用直接初始化时,我们实际上要求编译器使用普通的函数匹配,来提供参数最匹配的构造函数。因此直接初始化可能使用构造函数,也可能使用拷贝构造函数。
简单理解,用()来定义对象的就为直接初始化。