Насколько я понимаю, есть 2 способа инициализации переменных в конструкторах:
// 1
ClassName(int val) :
variable(val) { }
// 2
ClassName(int val) :
variable{val} { }
Первый вариант работает нормально, но второй не компилируется для меня. Интересно то, что некоторые IDE (например, Eclipse) подчеркивают второе инициирование красным цветом, в то время как другие (например, VSCode) только печатают ошибку в терминале, когда я пытаюсь его скомпилировать. Я на Ма c. Это вывод "clang --version":
Apple LLVM version 10.0.0 (clang-1000.11.45.5)
Target: x86_64-apple-darwin18.2.0
Thread model: posix
InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin
вывод "g ++ --version":
Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/usr/include/c++/4.2.1
Apple LLVM version 10.0.0 (clang-1000.11.45.5)
Target: x86_64-apple-darwin18.2.0
Thread model: posix
InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolc hain/usr/bin