fix g++ lvalue error