使用了auto后仍然无法识别变量的类型?需要在编译时加入-std=c++11
问题
在完成C++ Primer课后作业后,按要求运行程序后,出现如下错误:

未定义变量e的类型;

解决办法
原来默认把auto当作声明自动声明周期的关键字(C++98标准),而不是自动类型的关键字;
在C++11标准中auto可以在声明变量的时候根据变量初始值的类型自动为此变量选择匹配的类型
因此如果要解决此问题需要在编译时添加-std=c++11的编译选项;
运行g++ -std = c++11 2.34…cpp && ./a.out 后:
通过了!!!!