g++抱怨的代码行是:#if BOOST_WORKAROUND(__MWERKS__, BOOST_TESTED_AT(0x3205)) 我不明白为什么它在这里抱怨二进制运算符,这是g++还是boost错误? 最佳答案 如果未定义BOOST_WORKAROUND,则会收到该错误,因此我猜测您使用的是宏,实际上并未包含任何Boost头。显然,这行不通。通常,最安全的做法是假设它不是世界上使用最广泛的编译器和最广泛使用的库中的一个,并且您所做的只是错误的事情。