已采纳回答 / AndreaJi
至于原因应该和编译器以及C++标准有关(我的开发环境是 ubuntu 15.10 + gcc, -std 设置为 c++11 ),总之,良好的编码习惯可以避免很多莫名其妙的问题。
2016-12-03