【问题标题】:c++ error message ostream does not name a typec++错误信息ostream没有命名类型
【发布时间】:2017-06-22 20:55:10
【问题描述】:

我使用 c++ 来了解类和流,但每次尝试都会收到 错误 ostream 没有命名类型 我使用 std 命名空间、包含 iostream、包含标头

Uhr.cpp

#include<iostream>
#include"uhr.h"

using namespace std;

Uhr::Uhr(int Stunde, int Minute, int Sekunde){
this -> Stunde = Stunde;
this -> Minute = Minute;
this -> Sekunde = Sekunde;
}


void Uhr::setTime(int Stunde, int Minute, int Sekunde)
{
 this -> Stunde = Stunde;
 this -> Minute = Minute;
 this -> Sekunde = Sekunde;
}

void Uhr::setOne()
{
this -> Sekunde=+Sekunde;
}

ostream& Uhr::print(ostream& o)
{
o = "Stunden " << Stunden << " Minuten " << Minuten <<" Sekunden" << Sekunden;
return o:   
}

ostream& operator << (ostream &o,const Uhr& u)
{
 return u.print(o);
}

呃.h

#include<iostream>

class Uhr
{
private:
int Stunde;
int Minute;
int Sekunde;

public:
Uhr(int Stunde = 0, int Minute = 0, int Sekunde = 0);
void setTime(int Stunde, int Minute, int Sekunde);
void setOne();
ostream& print(ostream & o);
};

ostream& operator << (ostream &o,const Uhr& u);

错误: uhr.h:14:2:错误:“ostream”没有命名类型 ostream& 打印(ostream & o) 常量; ^ uhr.h:17:2:错误:“ostream”没有命名类型 ostream& 运算符

【问题讨论】:

  • 我是std::ostream
  • @Yousaf 不在标题中。
  • @Carcigenicate 是的。错过了……

标签: c++ iostream


【解决方案1】:

在头文件uhr.h中,改

ostream& print(ostream & o);

std::ostream& print(std::ostream & o);

【讨论】:

  • 包括 using namespace std;在你的头文件 uhr.h 中——不。不好的建议。
  • @PaulMcKenzie 我同意。编辑了我的答案。
猜你喜欢
  • 2014-12-16
  • 2015-12-01
  • 1970-01-01
  • 2021-02-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-04-10
  • 1970-01-01
相关资源
最近更新 更多