0
Заголовок:Затмения ++ не может быть решена
#ifndef patientenliste_hpp
#define patientenliste_hpp
#include <vector>
#include <iostream>
#include "patient.hpp"
using namespace std;
class Patientenliste
{
private:
vector<Patient> liste;
public:
Patientenliste& operator+= (const Patient&);
friend ostream& operator<< (ostream&, const Patientenliste&);
};
ostream& operator<< (ostream&, const Patientenliste&);
#endif
Исходник-:
#include "patientenliste.hpp"
Patientenliste::Patientenliste& operator+= (const Patient& p)
{
liste.push_back(p);
return *this;
}
ostream& operator<< (ostream& os, const Patientenliste& p)
{
for(auto& i : p.liste)
os << i;
return os;
}
Почему я должен поставить "Patientenliste ::" перед "Liste" в определении оператора + = в исходный код? Eclipse не может его решить, но он должен это делать, не так ли? работал хорошо с моим предыдущим проектом ...
Что Вы подразумеваете, ecliipse не может решить эту проблему? Вы ожидаете, что мастер автозаполнения сделает это за вас автоматически? Помещение «Patientenliste ::» перед списком в определении оператора + = является базовым определением класса в C++. Это не имеет никакого отношения к Eclipse. – ha9u63ar