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;
}
最佳答案
重新安装 Visual Studio 解决了问题。
关于c++ - 按值传递的参数在 visual studio 2015 x64 调试器中显示不正确?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41737408/