【问题标题】:invalid operands to binary expression ('std::ostream' (aka 'basic_ostream<char>') and 'const char *') [closed]二进制表达式的无效操作数('std::ostream'(又名'basic_ostream<char>')和'const char *')[关闭]
【发布时间】:2016-05-08 13:29:53
【问题描述】:

在尝试使用 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 << ")";
    ~~~ ^  ~~~

这是我对终端的命令:

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

【问题讨论】:

  • 我猜你的标准库头文件已损坏。
  • @Lingxi 我该如何解决?
  • 只是猜测。我不知道。尝试在在线编译器(例如Wandbox)上编译有问题的代码,看看问题是否仍然存在。

标签: c++ c++11 clang cheerp


【解决方案1】:

已修复:: 我只是忘了#include &lt;iostream&gt;

【讨论】:

  • 其实可能只是#include &lt;ostream&gt;
猜你喜欢
  • 2019-07-10
  • 2021-09-09
  • 1970-01-01
  • 1970-01-01
  • 2017-03-12
  • 1970-01-01
  • 1970-01-01
  • 2021-08-20
  • 1970-01-01
相关资源
最近更新 更多