В главе C++ Primer 2.2.1 Variable Definitions они сказали, что инициализация с помощью фигурной скобки называется инициализацией списка, и они сказали
При использовании с переменными встроенного типа эта форма инициализации имеет одно важное свойство: компилятор не позволит нам перечислить инициализирующие переменные встроенного типа, если инициализатор может привести к потере информации:
long double ld = 3.1415926536; int a{ld}, b = {ld}; // error: narrowing conversion required int c(ld), d = ld; // ok: but value will be truncated
Поэтому я подумал, что в этом разница между инициализацией списка и другими инициализациями. Но когда я попытался проверить это. Я видел, что он работает нормально! И только выдают какие-то предупреждения(Говорили ошибка). Так что я ничего не понял из этого. Так может ли кто-нибудь сказать мне, в чем разница между обычной инициализацией и инициализацией списка?
-Wconversion
. В Visual Studio есть предупреждение компилятора C4838 - person Cory Kramer   schedule 12.07.2021https://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win32/Personal%20Builds/mingw-builds/installer/mingw-w64-install.exe/download
кстати, я хочу gcc 10 от mingw, но я не могу получить его от msys2 и cygwin, потому что msys2 требует 64-битной версии, а cygwin не работает при попытке отладки с помощью vscode, так что может кто-нибудь сказать мне, где установить последнюю версию mingw ? (мой комп 32 бит) - person rafid100   schedule 12.07.2021-Werror
, и приятно использовать-Wextra
- person Martin York   schedule 12.07.2021https://stackoverflow.com/questions/34418485/narrowing-conversion-of-list-initialization-is-an-error-or-just-a-warning
что делать? - person rafid100   schedule 13.07.2021