MinGW 4.6.1 中的std::stoi 問題
嘗試使用std::stoi、std::stoul 編譯程式時以及MinGW 4.6.1 的相關函數,遇到錯誤,表示這些函數未被辨識為std 的成員。此問題是由於 Windows 平台上 vswprintf 的非標準聲明所致。
GNU 標準函式庫設定了巨集 _GLIBCXX_HAVE_BROKEN_VSWPRINTF,該巨集會停用所使用的轉換函數。該巨集有效地停用了所使用的轉換函數。若要深入了解此問題,請參閱http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37522。
為了解決問題,使用者可以修改分發的頭檔與 MinGW 一起。這可能涉及從 .../lib/gcc/mingw32/4.6.1/include/c /bits/basic_string.h 的第 2754 行刪除 !define(_GLIBCXX_HAVE_BROKEN_VSWPRINTF) 巨集。此外,將巨集新增回第 2905 至 2965 行,該巨集引用了 std::vswprintf。此修改將啟用轉換函數的可用性,不包括 std::to_wstring 函數。
以上是為什麼 MinGW 4.6.1 中無法辨識 std::stoi、std::stoul 和相關函數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!