ちょっと古いgccだとautoがコンパイルできないので互換性が低くなる