最近在项目工程中碰到一段代码, 颇为费解, string居然也可以用 <<和>>, 于是我单独写了个小程序测了一下: #include #include using namespace std; int main() { int a = 1; string s; s << a; return 0; } 编译错误:error: no match for 'operator<<' in 's << a' 这是正常的。 但为什么在工程项目中就可以呢? 请教了一下别的同事, 才发现, 是对strin