2017-01-19 10 views
1

x86は問題なく動作します。 x86 debug values screenshotビジュアルスタジオの2015 x64デバッガで値渡しのパラメータが正しく表示されませんでしたか?

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

@ Jonas、それらはデバッガウィンドウの図であり、コードではありません – SingerOfTheFall

+0

それは同じコードですか?正直なところ、最初の例のように、関数に渡されたベクトルは適切に初期化されていますが、2番目の例ではそうではありません。 – SingerOfTheFall

+0

また、[最小限のコンパイル可能な検証可能な例](http://stackoverflow.com/help/mcve)を追加する必要があります。特に、新しいプロジェクトでそれを再現できると言っているからです。 – SingerOfTheFall

答えて

0

のVisual Studioを再インストールするには、問題を修正しました。

関連する問題