在Visual Studio 2015 x64调试器中,值传递的参数显示不正确?

时间:2017-01-19 08:48:42

标签: c++ visual-studio debugging 64-bit

x86工作正常。 x86 debug values screenshot

但是x64显示不正确。 x64 debug values screenshot

这是代码。

struct vector3 { float x, y, z; };

vector3 mul(vector3 v1, vector3 v2)
{
    vector3 v3 = { v1.x * v2.x, v1.y * v2.y, v1.z * v2.z };
    return v3;
}

int main()
{
    vector3 a = { 1.0f, 1.0f, 1.0f };
    vector3 b = { 2.0f, 2.0f, 2.0f };
    vector3 c = mul(a, b);
    return 0;
}

我首先在我的一个个人项目中注意到这一点,并且能够在一个新项目中复制它(上面的图片来自新项目)。

我很想知道造成它的原因。 也许安装不好或VS错误? 它能够在其他机器上复制吗?

这就像我可以制作代码一样简单。

请注意,此代码在x64上运行正常:

struct vector2 { float x, y; };

vector2 mul(vector2 v1, vector2 v2)
{
    vector2 v3 = { v1.x * v2.x, v1.y * v2.y };
    return v3;
}

int main()
{
    vector2 a = { 1.0f, 1.0f };
    vector2 b = { 2.0f, 2.0f };
    vector2 c = mul(a, b);
    return 0;
}

1 个答案:

答案 0 :(得分:0)

重新安装Visual Studio修复了问题。