5

次のコードの問題点 (クラッシュ):

#include <string>
#include <iostream>

void foo(std::string str, unsigned long long val)
{
    std::cout<< str<< " "<< val<< std::endl; // Crashes if commented as well
}

int main()
{
    double d = 30.0;
    foo("abc", d);
}

Visual Studio 2012/デバッグ/Win32

x64でも動作unsigned long longします。long longunsigned long

このコード スニペットはクラッシュします。他のシナリオでは、関数パラメーターのアドレスが変更されます。

_stol2をに変換するdoubleことと関係があると思われますunsigned long long

4

1 に答える 1

1

バグとしてMicrosoft に提出(承認済み)

于 2012-12-24T07:44:52.150 に答える