二进制表达式(';std::ostream';(又称';basic#ostream<;char>;';)和';const char*';)的操作数无效 当尝试用CHIERP编译我的C++代码时(使用CLAN+++),我从终端获得这个输出: example.cpp:102:9: error: invalid operands to binary expression ('std::ostream' (aka 'basic_ostream<char>') and 'const char *') out << "(" << loc.x << ", " << loc.y << ")"; ~~~ ^ ~~~
下面是它遇到问题的代码:二进制表达式(';std::ostream';(又称';basic#ostream<;char>;';)和';const char*';)的操作数无效 当尝试用CHIERP编译我的C++代码时(使用CLAN+++),我从终端获得这个输出: example.cpp:102:9: error: invalid operands to binary expression ('std::ostream' (aka 'basic_ostream<char>') and 'const char *') out << "(" << loc.x << ", " << loc.y << ")"; ~~~ ^ ~~~,c++,c++11,clang,cheerp,C++,C++11,Clang,Cheerp,下面是它遇到问题的代码: static std::ostream& operator <<(std::ostream & out, const CornerLoc &loc) { out << "(" << loc.x << ", " << loc.y << ")"; if (loc.type == kCorner) out<<"-corner";
static std::ostream& operator <<(std::ostream & out, const CornerLoc &loc)
{
out << "(" << loc.x << ", " << loc.y << ")";
if (loc.type == kCorner)
out<<"-corner";
if (loc.type == kCornerNorthWest)
out<<"-cornerNW";
if (loc.type == kCornerNorthEast)
out<<"-cornerNE";
if (loc.type == kCornerSouthWest)
out<<"-cornerSW";
if (loc.type == kCornerSouthEast)
out<<"-cornerSE";
return out;
}
static std::ostream&operatorFIXED::我刚忘了#include
我想你的标准库头已经损坏了。@Lingxi我该如何修复它们?只是猜测而已。我不确定。尝试在联机编译器上编译有问题的代码(例如),看看问题是否仍然存在。实际上可能只是#include
static std::ostream& operator <<(std::ostream & out, const CornerLoc &loc)
{
out << "(" << loc.x << ", " << loc.y << ")";
if (loc.type == kCorner)
out<<"-corner";
if (loc.type == kCornerNorthWest)
out<<"-cornerNW";
if (loc.type == kCornerNorthEast)
out<<"-cornerNE";
if (loc.type == kCornerSouthWest)
out<<"-cornerSW";
if (loc.type == kCornerSouthEast)
out<<"-cornerSE";
return out;
}