1. ホーム
  2. c++

[解決済み] c++エラーメッセージ ostream does not name a type

2022-02-17 21:22:41

質問

クラスとストリームについて学ぶためにc++を使用していますが、試すたびに エラー ostream does not name a type std名前空間、include iostream、include headerを使用しています。

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);
}

uhr.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: error: 'ostream' does not name a type ostream& print(ostream & o) const; ^ uhr.h:17:2: error: 'ostream' does not name a type ostream& operator << (ostream &o,const Uhr& u)です。

解決方法は?

ヘッダーファイルで uhr.h を変更します。

ostream& print(ostream & o);

になります。

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