首頁 >後端開發 >C++ >為什麼用 MinGW 4.6.1 編譯時「stoi」不是「std」的成員?

為什麼用 MinGW 4.6.1 編譯時「stoi」不是「std」的成員?

Susan Sarandon
Susan Sarandon原創
2024-10-29 05:55:02387瀏覽

Why is

MinGW 4.6.1 中的std::stoi 問題

錯誤「error: 'stoi' is not a member of 'std' " 使用MinGW 4.6.1 進行編譯時源自於Windows 上vswprintf 的非標準宣告。

說明:

GNU 標準函式庫對此定義了巨集 _GLIBCXX_HAVE_BROKEN_VSWPRINTF平台。此巨集停用某些轉換函數,包括 std::stoi。

解決方法:

要解決此問題,請考慮修改隨MinGW 分發的頭檔:

  1. 刪除.../ lib/gcc/mingw32/4.6.1/include/c /bits/basic_string.h 第2754 行的!define(_GLIBCXX_HAVE_BROKEN_VSWPRINTF) 巨集。
  2. 重新- 在第 2905 行到 2965 行周圍加入宏,該宏引用 std::vswprintf。

後果:

此解決方法停用 std::to_wstring 函數,但允許其他轉換功能可用。

以上是為什麼用 MinGW 4.6.1 編譯時「stoi」不是「std」的成員?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn