Methode eines zurückgegebenden Objektes aufrufen



  • Hi,
    der Titel sagts ja schon. Ich mach mal en Beispiel und poste die Fehlermeldung:

    class A
    {
    public:
    int getS()
    {return s;}
    ...
    private:
    int s;
    ...
    };
    template<class T> class B
    {
    private:
    A a;
    ...
    public:
    A getA()
    {return a;}
    ...
    };
    //int main()
    B<...> b;
    for ( int i=0; i<b.getA().getS();++i)
    ...
    

    Dabei wird folgender Fehler produziert:
    invalid operands of types 'int' and '<unresolved overloaded function type>' to binary 'operator<'

    Gruß
    Wasion



  • Vielleicht solltest du ein kompilierbares Beispiel posten.



  • Kann ich machen, ist aber nur etwas länger .



  • Sehr lang, wirklich..

    class A
    {
    public:
    	int getS()
    	{return s;}
    private:
    	int s;
    };
    template<typename T> class B
    {
    private:
    	A a;
    public:
    	A getA()
    	{return a;}
    };
    
    int main(int argc, char* argv[])
    {
    	B<int> b;
    	for(int i=0; i<b.getA().getS();++i);
    	return 0;
    }
    

    Ist sogar eine Zeile kürzer.
    Jetzt versuch das mal zu Compilieren.


Log in to reply