【发布时间】:2017-11-30 07:13:49
【问题描述】:
int main(){
int x{1};
cout << "Value of x = " << x << endl;
}
在这里,我使用“{}”语法来初始化我的变量 x,它非常好并且可以正常工作
Value of x = 1
使用g++ --std=c++11编译时
删除生成的.out 文件并使用g++ --std=c++98 重新编译后,我收到以下警告。
main.cpp:10:7: warning: extended initializer lists only available with -std=c++11 or -std=gnu++11
int x{1};
但在运行 .out 文件时,我仍然得到所需的输出。
在这里,我想知道实际发生了什么。为什么得到正确的输出。天气编译器正在使用--std=c++11 重新编译它?
【问题讨论】:
标签: c++ c++11 compilation compiler-warnings