考虑以下功能:

void writer(ofstream &output) {
output << "a string to write" << endl;

}

但是当我尝试调用它时,出现错误,即未定义“ <<”。 我怎样才能解决这个问题?

#1楼 票数:7 已采纳

添加#include <fstream>或将ofstream更改为ostream

很可能您缺少包含,因此ofstream仅向前声明。

  ask by GSto translate from so

未解决问题?本站智能推荐:

4回复

返回ostream的C++函数

我有许多operator<<()函数,它们首先做一些类似的事情,所以我想把它抽象出来。 这是我正在尝试做的事情的最小可重复案例(消除了所有的复杂性)。 请注意,它不会编译。 如果它确实编译了,我希望程序自己在一行上打印数字 3。 错误开始是这样的: 然后提供了很多“没有已知的从 ostr
4回复

C++-将std::ostream传递给函数

我想到了C ++中一个小的调试内联函数: 这是我想如何使用它的一个例子: 然而它不能按照我计划的方式工作 - 我希望它只在详细级别高于或等于调试级别传递给函数时打印消息,但它似乎每次打印而不管调试级别如何,因此数据保持不变在cout缓冲区。 到目前为止,我认为这个功能不是我最近的最好的
2回复

创建一个打印函数,该函数将ostream作为参数并写入该流

我目前正在讨论有关C ++中运算符重载的问题。 我有个问题: 创建一个包含int的简单类,并将operator +作为成员函数重载。 还提供了一个print()成员函数,它将一个ostream作为参数并打印到该ostream&。 测试你的课程,以证明它正常工作。 我可以创建类并编写
3回复

写入ostream的const引用

我正在读C ++入门。 我遇到了以下代码: 这段代码有效,但我不知道为什么。 以下是我的想法,如果有人能帮助指出我错在哪里会很棒...... 这里,'printer'是一个const PrintString对象,因此它的数据成员是const,所以'printer.os'是对cout的
2回复

将Unicode字符写入OStream

我正在使用 unicode/wide 字符,并且正在尝试创建一个 toString 方法( Java ::toString equiv )。 ostream 是否会处理宽字符,如果是这样,有没有办法警告流的使用者它是从它出来的 unicode?
1回复

c++模板类无法修复ostream和istream函数

所以我创建了一个 Person 类,现在我试图将其转换为模板类,但我不断收到以下错误: 我查看了人们面临并在此处发布的类似问题,但我找不到适合我的解决方案,因此我决定提出自己的问题。 如果你们能帮忙,那将意味着很多! 我对 C++ 很陌生,它有点令人困惑。 这是我的 header 和 cc head
1回复

类函数参数C++中的(ostream&outs)

类函数ostream& outs中的参数是什么意思? 例如 为什么将信息输出到输出而不使用cout而是使用outs?
2回复

调用操纵ostream的函数不需要括号。C++

我知道没有括号就不能调用函数,但是,假设我有这段源代码: 左移运算符没有任何重载,但是当我在main函数的cout中调用test(ostream& os)函数时,它不需要任何括号。 我的问题是为什么?