Runtime error



  • Hallo zusammen,

    ich bräuchte eure Hilfe bei folgendem Code. Ich sehe einfach den Fehler nicht. Wahrscheinlich ist es einfach nur zu spät.

    class A
    {
        int _m;
        bool _b;
    public:
        A (int m, bool b): _m(m), _b(b){}
    };
    
    bool foo (A* ok)
    {
        //A* temp = ok;
        return true;
    }
    
    int main()
    {
        return foo(&A(4, true));
    }
    

    Danke für eure Hilfe.



  • 14:6: warning: unused parameter ‘ok’ [-Wunused-parameter]
    : In function ‘int main()’:
    :22:24: error: taking address of temporary [-fpermissive]
    


  • Danke für den Hinweis. Der Runtime-Fehler hat mich anscheinend verwirrt. Ich habe erst nach dem Posten gesehen, dass es am return-Wert liegt (da ist der gcc von ideone nicht so informativ). Das mit dem temp. Objekt ist eigentlich kein Problem, weil ich sowieso

    return foo (new A(4, true));
    

    genommen hätte und dann müsste es auch passen.


Anmelden zum Antworten