注册 登录
编程论坛 C++教室

“引用”,在函数传递中用了reference type mismatch的方法却无法正常输出,求解!

q1670741824 发布于 2013-11-28 21:18, 383 次点击
我的朋友在gcc和vc++6.0中分别运行都能正常显示,我用的vc++2013却什么也不显示,这是为什么,新标准改了么。。。代码如下,望朋友们帮忙解答一下。

void ref(const double &x);

int main()
{
    double m = 5;
    const double &r = m;
    cout << r;
    ref(m);
    cin.get();
}

void ref(const double &x)
{
    cout << x*x <<"d";
}

我在vc++2013中的输出为5,而我朋友的其他平台中compile的输出却是和书上所说一致的525d。这是为何,求解!!
2 回复
#2
i802862013-11-28 21:40
VS2013下也没有任何问题,输出结果为:525d
C++11是原有标准的扩充,但完全兼容以前的标准
#3
rjsp2013-12-02 10:45
#include呢?代码都不肯贴全,别人能确定一定错在哪里?
仅从你给出的代码看不出什么问题,虽然 ::ref 和 std::ref 有混淆的可能。
1