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

invalid operands to binary expression ('std::ostream' (aka 'basic_ostream<char>') and 'const char *')

本文关键字:ostream char 表达式 const 无效 std 操作数 二进制 basic 又名      更新时间:2023-10-16

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

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

这是我对终端的命令:

/opt/cheerp/bin/clang++ -target cheerp example.cpp -o example.js

这是它有问题的代码:

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;
}

修复::我只是忘了#include <iostream>

相关文章: