首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >流作为方法参数在c++中的应用

流作为方法参数在c++中的应用
EN

Stack Overflow用户
提问于 2018-03-28 09:23:09
回答 1查看 627关注 0票数 0

我需要些帮助。我知道你可以有这样的功能

代码语言:javascript
复制
void foo (std::ofstream& dumFile) {}

但是我有一个类,我想做同样的事情,编译器给了我大量的错误。

我的main.cpp文件如下所示:

代码语言:javascript
复制
#include <iostream>
#include <fstream>
#include "Robot.h"
using namespace std;

ofstream fout("output.txt");

int main() {
    Robot smth;
    smth.Display(fout);
    return 0;
}

我的Robot.h看起来是这样的:

代码语言:javascript
复制
#include <fstream>
class Robot{
private:
     int smth;
public:
     void Display(ofstream& fout) {
         fout << "GET ";
     }
};

现在,如果我试图编译它,我将得到以下错误:

代码语言:javascript
复制
error: ‘ofstream’ has not been declared
 error: invalid operands of types ‘int’ and ‘const char [5]’ to binary ‘operator<<’

任何帮助都是非常感谢的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-03-28 09:28:02

您确实必须尊重名称空间:)

代码语言:javascript
复制
class Robot{
private:
     int smth;
public:
     void Display(std::ofstream& fout) {
         fout << "GET ";
     }
};

您的主文件有using namespace std;,而Robot.h文件没有。(这很好,因为在头文件中使用“使用命名空间”构造是非常危险的想法)

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49530709

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档