返回一个流的C++函数

返回一个流的C++函数,c++,c++14,ostream,C++,C++14,Ostream,我有很多操作符你可以试试这个: BaseFunction(cout, 3); cout << endl; 我认为ostream无法输出ostream。Basefunctioncout,3返回cout 因此,最后一行相当于 cout << 3; cout << cout << endl; 因为cout你使用了一个不可思议的、独特的ie坏模式,使用它的方法是: BaseFunction(cout, 3) << endl; 请注意,您

我有很多操作符你可以试试这个:

BaseFunction(cout, 3);
cout << endl;

我认为ostream无法输出ostream。

Basefunctioncout,3返回cout

因此,最后一行相当于

cout << 3;
cout << cout << endl;

因为cout你使用了一个不可思议的、独特的ie坏模式,使用它的方法是:

BaseFunction(cout, 3) << endl;

请注意,您将输入流作为参数传递给函数,并且由于您将流作为输出返回,并且没有运算符重载,因此您所做的基本上是定义自定义流操纵器。可以更像这样实现:

/*clang++-std=c++14-Wall-Wextra foo.cc-o foo*/ 包括 使用std::cout; 使用std::endl; 使用std::ostream; 结构myValue{ int值; }; myValue BaseFunctionconst int x{ 返回myValue{x}; }
ostream&Operator在BaseFunctioncout中拿出cout,3我不确定你的目标是什么,但也许你想要?围绕@MooingDuck进行巧妙的工作,谢谢!谢谢这个图案很奇怪,因为我在复制操作员的坦克,没错。我在复制我对接线员所做的事情
cout << 3;
cout << cout << endl;
BaseFunction(cout, 3) << endl;