c++ - 按值传递的参数在 visual studio 2015 x64 调试器中显示不正确?

标签 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;
}

最佳答案

重新安装 Visual Studio 解决了问题。

关于c++ - 按值传递的参数在 visual studio 2015 x64 调试器中显示不正确?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41737408/

相关文章:

c++ - 正 lambda : '+[]{}' - What sorcery is this?

c++ - 错误 MSB8008 : Specified platform toolset (v120) is not installed or invalid

c++ - 用于删除调试信息的 MSVC 命令行选项

iphone - 如何检测 UIView 大小何时改变?

c++ - 无法使用 C++11 实例化抽象类

c++ - 智能指针,为什么在更改底层对象之前需要检查我是否是唯一用户?

c++ - std::vector 是否自动将指向数组的指针从一个 vector 对象复制到另一个对象?

visual-studio - Windows Phone 8.1 应用程序签名

c - 没有 32Gb 内存限制的 valgrind 替代品?

javascript - 使用 modernizr 在 ie 中测试指针事件