我正在阅读 Stroustrup 最新的 C++ 书籍(第 4 版),书中的以下示例不会引发错误。
#include <iostream>
using namespace std;
int main(const int argc, const char* argv[]) {
// Narrowing conversion.
// According to Stroustrup, an error should happen here
// because the curly-brace-delimited initializer
// saves us from conversions that lose information.
// But after compiling and running the code the output is 7.
int i2 {7.2};
cout << i2 << endl;
return 0;
}
我正在使用以下命令在 Gentoo 系统上编译代码。(g++ 版本:4.6.3)
g++ -std=c++0x -o output input.cpp
为什么它不抛出错误?