二进制表达式的无效操作数('std :: ostream'(又名'basic_ostream <char>')和'const char*')

Jon*_*ant 12 c++ clang c++11

当我尝试使用Cheerp(使用clang ++)编译我的c ++代码时,我从终端获得此输出:

example.cpp:102:9: error: invalid operands to binary expression ('std::ostream'
      (aka 'basic_ostream<char>') and 'const char *')
    out << "(" << loc.x << ", " << loc.y << ")";
    ~~~ ^  ~~~
Run Code Online (Sandbox Code Playgroud)

这是我对终端的命令:

/opt/cheerp/bin/clang++ -target cheerp example.cpp -o example.js
Run Code Online (Sandbox Code Playgroud)

以下是它遇到的代码:

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;
}
Run Code Online (Sandbox Code Playgroud)

Jon*_*ant 18

固定::我只是忘了 #include <iostream>

  • 实际上它可能只是“#include &lt;ostream&gt;” (2认同)