Be compatible with none c++11 compiler