Компилятор сказал вам, что именно не так. Обычно это так.
This file requires compiler and library support for the ISO C++ 2011 standard. This
support is currently experimental, and must be enabled with the -std=c++11 or
-std=gnu++11 compiler options.
Вы просто должны скомпилировать с соответствующим флагом, -std=c++11
. Я не знаю, соответствуете ли вы версии по отношению к тому, что используют грейдеры или что, но есть очень мало веских причин для того, чтобы использовать компилятор minGW, где поддержка 8-летнего стандарта все еще считается экспериментальной.
Вы можете видеть, что он работает, как и ожидалось, здесь: https://godbolt.org/z/JQxL00 Если вы удалите флаг -std=c++11
, он не будет скомпилирован и выдает то же сообщение об ошибке.
Вы также можете заметить, что яизменил включает только то, что я использую. Это приводит к гораздо более быстрому времени компиляции, меньшему количеству исполняемого файла и более легкой для понимания части кода (поскольку ясно, какие стандартные функции используются). Вы также избегаете загрязнения своего пространства имен.