我正在尝试找到一种将fout或cout传递给函数的方法。我意识到在逻辑上有简单的方法可以解决此问题,例如将ifs放在输出数据的任何函数中,甚至只是用两种方式编写函数。但是,这似乎是原始且低效的。我认为这段代码永远不会起作用,我将其放在此处以确保很容易看到我想要执行的操作。请注意,我正在使用c++进行算法设计类(class),但我绝不是经验丰富的c++程序员。我的类(class)仅限于使用您看到的 header 。

#include <iostream>
#include <iomanip>
#include <fstream>

using namespace std;
void helloWorld(char);
ofstream fout;

int main()
{
    fout.open("coutfout.dat");
    helloWorld(c);
    helloWorld(f);

    return 0;
}
void helloWorld(char x)
{
    xout << "Hello World";
    return;
}

最佳答案

这些都继承自ostream,因此请尝试以下操作:

void sayHello(ostream& stream)
{
    stream << "Hello World";
    return;
}

然后在main中传入对象(cout或其他),它应该可以正常工作。

关于c++ - 是否可以将cout或fout传递给函数?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10356300/

10-09 13:36