【发布时间】:2016-08-09 15:52:57
【问题描述】:
简介及相关资料:
假设我有以下课程:
class Example
{
int m_a;
int m_b;
public:
// usual stuff, omitted for brevity
friend ostream & operator<< (ostream & os, const Example &e)
{
return os << m_a << m_b;
}
};
问题:
我想保留cin 的默认行为,但写入ofstream 时的格式如下:
m_a , m_b
我为解决这个问题所做的努力:
我已经尝试在这里搜索,但没有找到任何类似的问题。
我尝试过在线搜索,但仍然没有找到任何有用的信息。
我已经尝试添加
friend ofstream & operator<< (ofstream & ofs, const Example &e)
{
return ofs << m_a << ',' << m_b;
}
进入类,但这会产生编译器错误。老实说,这种方法感觉不对,但在来这里寻求帮助之前我不得不尝试一下。
【问题讨论】:
-
"但这产生了编译器错误。" 错误是什么?
-
我尝试复制添加特定友元函数的代码,它可以编译。
-
@FirstStep:很抱歉现在才回复,我刚下班回来。错误信息是这样的:
error C2440: 'return' : cannot convert from 'std::basic_ostream<char,std::char_traits<char>>' to 'std::ofstream &'但我不知道那是什么意思。我在谷歌搜索时输入这个......
标签: c++ ifstream ofstream c++98