<< überlagern
-
hallo,
wieso geht folgende globale funktionsdefinition nicht:
ostream &operator<<(ostream &o,const Bruch &b);
hab ich in der klasse dann als friend deklariert.
fehlermeldung:
missing ',' before '&'
mfg
-
Das hier:
class Bruch{ friend std::ostream &operator<<(std::ostream &o,const Bruch &b); int z,n; public: Bruch(int zz, int nn):z(zz),n(nn){} }; using namespace std; ostream &operator<<(ostream &o,const Bruch &b){ o<<b.z<<"/"<<b.n; return o; } int main() { Bruch b(12,5); cout<<b<<endl; return 0; }
funktioniert bei mir.
Da gab es schonmal einen Thread, indem auch was erklärt wurde, das beim VC++ die using Anweisung mit friend nicht gescheit zusammenarbeitet.
hierGruß
Entyl Sa