Compilation Error with std::stoi in MinGW 4.6.1
When attempting to compile a program using std::stoi in MinGW 4.6.1, an error message indicating that 'stoi' is not a member of 'std' may appear. This issue stems from a non-standard declaration of vswprintf on Windows.
Cause of the Issue
The GNU Standard Library defines the macro _GLIBCXX_HAVE_BROKEN_VSWPRINTF on Windows, which disables the conversion functions, including std::stoi. This macro is enabled when using MinGW on Windows due to an issue with vswprintf on that platform.
Resolving the Issue
To resolve this issue, consider the following workaround:
Modify MinGW Header Files (Not Recommended):
This modification will disable the std::to_wstring functions, but other conversion functions should become available.
Additional Information
The above is the detailed content of Why is std::stoi not working with MinGW 4.6.1 on Windows?. For more information, please follow other related articles on the PHP Chinese website!