C++ 我的操作员过载了吗<&书信电报;左操作数不是ostream的(流插入)无效

C++ 我的操作员过载了吗<&书信电报;左操作数不是ostream的(流插入)无效,c++,operator-overloading,std,C++,Operator Overloading,Std,考虑一下上下文,我想在其中写入到stdout以外的另一个文件描述符。这里,我的“write”方法打印到stdout,但只是为了理解 这是我试图解决的主要问题: 我有一个写(char)方法,我想通过操作符转换成C++样式流 我很好奇为什么你链接的主题和 或 许多其他人从不谈论来自其他类型的左操作数,而不是 奥斯特雷姆 因为这并不重要。适用于std::ostream的方法适用于其他类型。很抱歉,这有点像得到一个重载类型Foo的操作符+的例子,然后抱怨你从来没有得到一个如何重载条的例子。如果你想让你的

考虑一下上下文,我想在其中写入到stdout以外的另一个文件描述符。这里,我的“write”方法打印到stdout,但只是为了理解

这是我试图解决的主要问题:

我有一个写(char)方法,我想通过操作符转换成C++样式流 我很好奇为什么你链接的主题和 或 许多其他人从不谈论来自其他类型的左操作数,而不是 奥斯特雷姆


因为这并不重要。适用于
std::ostream
的方法适用于其他类型。很抱歉,这有点像得到一个重载类型
Foo
操作符+
的例子,然后抱怨你从来没有得到一个如何重载
的例子。如果你想让你的类型提供一个
操作符,这取决于你想要什么
操作符。通常,当你重载一个操作符时,你应该做它内置的操作。在C++中,代码> >代码> @ Stulk2106:“我敢说你在网上找到了一个操作人员超载的例子,很难把它看做一个明确、具体的问题。”为什么人们总是……“他们不总是这样。”没有地方可以找到……“有。”这是否意味着我的例子是一个罕见的例子…“不,这不是那个意思。@staller2106:我没有把你和代码联系起来;我把你和图书馆联系起来了。您可以自己在这些库中查找代码。这是一个很好的答案,谢谢。是的,我只是好奇为什么(例如在我提供的链接中)所有的操作符都重载为T或X类型,以及operator@stalker这是因为通常您确实关心右侧,并且希望为
std::ostream
s
操作符提供重载
#include <iostream>

struct Ter {
    void write(const std::string &str) { std::cout << str; }; //Here we should do something else in our context
    friend Ter &operator<<(Ter &a, std::string &b);
};


Ter &operator<<(Ter &a, const std::string &b)
{
   a.write(b);
   return (a);
}


int main()
{
    Ter toto;
    toto << "b" << "c";
}