错误:没有运算符“<<”与这些操作数匹配

Posted

技术标签:

【中文标题】错误:没有运算符“<<”与这些操作数匹配【英文标题】:Error : No operator "<<" matches these operands 【发布时间】:2013-02-13 19:47:47 【问题描述】:

我是 C++ 新手,我无法理解为什么会出现此错误。我收到的错误消息是“没有运算符 '

#include "LList.h"
#include <iostream>

using namespace std;

int main( )

    LList a;

    a.push_back(  "30" );
    a.push_front( "20" );
    a.push_back(  "40" );
    a.push_front( "10" );
    a.push_back(  "50" );

    cout << "list a:\n" << a << '\n';

    return 0;    

【问题讨论】:

为你写LList.h的人没有实现打印。 【参考方案1】:

您需要为 LList 重载 operator &lt;&lt;。为此,请执行以下操作:

std::ostream& operator<<(ostream& out, const LList& llist)

【讨论】:

哇,非常感谢。这清除了我的错误。就这么简单。如果我把那行代码放在 LList.h 文件或当前文件中,这有关系吗? 我说你需要实现它,这意味着简单地放置该行不会解决任何问题。您需要使用 LList 的接口来实现将其打印到输出流中的逻辑。 如果可以的话,如果你能帮我解决这个问题,可以吗?我一直在想在里面放什么,但我似乎想不出什么

以上是关于错误:没有运算符“<<”与这些操作数匹配的主要内容,如果未能解决你的问题,请参考以下文章

对象向量 - C++。没有运算符“<<”与这些操作数匹配,错误

没有运算符 << 匹配这些操作数

错误 C2679:二进制“<<”:未找到采用“std::string”类型右侧操作数的运算符(或没有可接受的转换)

C++基础 为什么不能cout一个string

没有运算符“=”匹配这些操作数错误

错误:二进制“<<”:未找到采用“std::string”类型的右侧操作数的运算符 [重复]