namespace für Operatoren



  • Ich wollte eine Namespace machen für nicht member operatoren einer klasse:

    und zwar folgendes:

    class imudatac {
    public:
    	double timestamp;
    	Vector<3>  rotation_speed;
    	Vector<3>  acceleration;
    
    	imudatac();
    
    	//imudatac operator= (const imudatac &k);
    };
    namespace gaga {
    int operator << (imudatac & a, imudatac &b);
    void operator << ( std::ostream& os, const imudatac & data);
    }
    

    wie kann ich nun in main: diesen namespace gaga auswählen für den Operator?
    Wie geht das ; irgend wie so?

    using namespace gaga {
    cout << imudatac_instance;
    }
    

    oder irgend wie so?

    gaga::cout<<imudatac_instance;
    

    oder so

    cout<<gaga::imudatac_instance;
    

    ich sehe nicht ganz durch....

    Kann mir da jemand weiterhelfen was ich da verwechsle? in der Anwendnung?

    Besten Dank!!!!!

    Gruss Gabriel



  • die operatoren müssen im selben namespace liegen wie die klasse.

    dann erledigt ADL den rest.


Anmelden zum Antworten