gcc 4.9允许下面的代码,但是gcc 4.8和clang 3.5.0拒绝它。 void foo(auto c) { std::cout << c.c_str(); } 我得到warning: ISO C++ forbids use of 'auto' in parameter declaration [-Wpedantic]在4.9中,但在4.8和clang我得到error: parameter declared 'auto' 。