当前位置: 首页 > 知识库问答 >
问题:

如何将std::endl传递给函数并使用它?

鲁丰
2023-03-14

我想弄清楚如何将像std::endl这样的操纵器传递给函数,然后在函数中使用传递的操纵器。我可以像这样声明函数:

void f(std::ostream&(*pManip)(std::ostream&));

我可以这样称呼它:

f(std::endl);

没关系。我的问题是弄清楚如何使用f中的机械手。这不起作用:

void f(std::ostream&(*pManip)(std::ostream&))
{
  std::cout << (*pManip)(std::cout);            // error
}

不管编译器如何,错误消息归结为编译器无法判断哪个< code >操作符

共有1个答案

南宫正阳
2023-03-14
void f(std::ostream&(*pManip)(std::ostream&))
{
  std::cout << "before endl" << (*pManip) << "after endl"; 
}

或者

void f(std::ostream&(*pManip)(std::ostream&))
{
  std::cout << "before endl";
  (*pManip)(std::cout);
  std::cout << "after endl"; 
}
 类似资料:
  • 我想通过包装C 11中的std::thread类来使用我自己的Thread实现,这样我就可以像我想要的那样处理异常。 这是我的包装类: 如果没有争论,它的效果相当不错: …但如果我尝试传递可变参数: ...我在编译时收到一个错误: buildroot-2014.02/output/host/usr/i586-buildroot-linux-uclibc/include/c /4.8.2/funct

  • 我正在尝试编写一个类模板,在内部它使用一个函数(BFGS优化的实现,由环境提供),接口如下: 其中< code>fn和< code>gr是类型的函数指针 和 分别是。我的< code>C 类模板如下所示: 这样,它可以由任何具有两个指定成员函数的类进行实例化,例如: 这可能吗?或者也许有更好的方法来做到这一点 - 将两个成员函数分别作为函数指针传递?(如果目标函数和相应的梯度很简单,那么编写两个函

  • 这是我的主要方法,我正在努力重新学习编码,因为我在学校里多次失败。我想从主方法中获取一个数组,并从循环中获取用户输入,然后将其传递给“TestScoresTwo.java”类中的构造函数。然后我想取那个数组,用它来求和,在类中的一个方法中找到平均值,然后返回和。 这是我的测试分数。java类。 当它编译时,我的输出是:“请输入等级数量有”3“输入等级11”等级是11.0“50”等级是50.0“70

  • 问题内容: 这似乎是一个愚蠢的问题,但是我是这个话题的新手。我正在致力于关于节点js的承诺。我想将参数传递给Promise函数。但是我不知道。 而功能类似于 问题答案: 将Promise包裹在一个函数中,否则它将立即开始工作。另外,您可以将参数传递给函数: 然后,使用它: ES6: 用:

  • 有人能告诉我如何使用将数组参数传递给postgresql函数吗?我尝试了下面的方法,但是得到了错误: 例外 psqlException:无法推断用于[ljava.lang.Integer;]实例的SQL类型。使用带有显式Types值的setObject()来指定要使用的类型。 谢谢

  • 我在代码中使用STD::Thread时遇到问题: 我得到以下错误: 我的问题看起来像是重复的,但只有一点不同,在另一个问题的答案中,std::Thread是在类声明或实现之外使用的,它是在main()中使用的,在这种情况下,指定范围对我来说是有意义的,但当std::Thread在类内部调用时就没有意义了。这是我看到的唯一区别,也是为什么我做了这个线程,很抱歉可能会重复。