MinGW 中不存在std::stoi
使用gcc 4.6.1 在MinGW 上使用std::stoi 編譯程式時,可能會出現一條錯誤訊息,指出「std::stoi 不是'std'的成員」。儘管該函數在較新版本的 gcc 中可用,但仍會發生這種情況。
原因:
MinGW 對 vswprintf 函數的非標準宣告定義了巨集 _GLIBCXX_HAVE_BROKEN_VSWPRINTF,該巨集停用轉換函數,包括 std::stoi。
解決方法:
透過註解掉.../lib 第2754 行的巨集來修改MinGW 包含的頭檔/gcc/mingw32/4.6.1/ include/c /bits/basic_string.h。此外,將巨集新增回第 2905 行到第 2965 行附近,不包括對 std::vswprintf 的參考。雖然此解決方法啟用了轉換函數,但它阻止使用 std::to_wstring 函數。
以上是為什麼使用 gcc 4.6.1 的 MinGW 中不存在 `std::stoi` ?的詳細內容。更多資訊請關注PHP中文網其他相關文章!