<< ü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.
    hier

    Gruß
    Entyl Sa


Anmelden zum Antworten