[Spiel] Findet die Fehler ...



  • Nächster Code, wiedereinmal erst ein nicht kompilierbares Beispiel:

    class MyClass {
    
        private:
                int a, b, c;
    
        public:
                MyClass() : a(5),b(3425),c(0)
                { }
    
                bool setC(char a)
                {
                    return c=a;
                }
    
                friend ostream& operator<<(ostream& stream,MyClass& obj);
    };
    
    ostream& operator<<(ostream& stream,MyClass& obj)
    {
        obj.setC('a');
        stream << obj.a << obj.b << obj.c << endl;
    
        return stream;
    }
    
    int main()
    {
       MyClass a, b(a), c = MyClass();
       cout << a << b << c << MyClass();
    
    }
    

    Edit: Kein Gewähr auf Folgefehler, die aus der Behebung des Hauptfehlers entstehen könnten 😉



  • Zum ersten:

    Der Konstruktor von std::vector ruft für 4 Elemente den Argumentlosen Constructor auf, der aber nicht deklariert ist oder so ähnlich

    @ KasF: Ist es erlaubt den Compiler zu verwenden um seine Vermutung zu bestätigen?



  • darthdespotism schrieb:

    Der Konstruktor von std::vector ruft für 4 Elemente den Argumentlosen Constructor auf, der aber nicht deklariert ist oder so ähnlich

    Naja, das "oder so ähnlich" gefällt mir nicht 😉
    Glaube dir ehe nicht mehr das du nicht geschummelt hast 😃

    darthdespotism schrieb:

    @ KasF: Ist es erlaubt den Compiler zu verwenden um seine Vermutung zu bestätigen?

    Von mir aus, wenn du dir denkst die Lösung zu kennen, spricht nichts dagegen.

    Zum ersten Code nochmal:
    Ein/Der C'tor von vector sieht so aus:

    vector( size_type num, const TYPE& val = TYPE() );
    

    Da ich schon aber selbst Konstruktoren mit Argumenten definiert habe, wird kein Standardkonstruktor definiert, der aufgerufen werden könnte, um die Elemente zu initialsieren.

    Der Rest ist nur Ablenkung 😃



  • KasF schrieb:

    Der Rest ist nur Ablenkung 😃

    genau wie im zweiten beispiel. ich hab mir fast nen wolf gesucht, bis mir der fehler aufgefallen ist :p



  • 😃



  • KasF schrieb:

    Glaube dir ehe nicht mehr das du nicht geschummelt hast 😃

    Soll ich jetzt beleidigt sein 😮

    Seit wann den n nicht mehr 😃



  • hab die lösung von code 2 😉 ein blick 😃

    hätts aber sicher auch nicht gefunden, wenn ich vor kurzem nicht das selbe problem gehabt hätte 😉



  • ich _denke_ sie zu kennen, kam mir etwas dubios vor, habe allerdings noch nicht versucht sie zu überprüfen und bin mir an der Stelle auch nicht sicher

    Der Code sollte nebenbei bemerkt auch jede Menge Warnings produzieren oder?



  • darthdespotism schrieb:

    Der Code sollte nebenbei bemerkt auch jede Menge Warnings produzieren oder?

    eigentlich sollte der keine einzige produzieren.



  • darthdespotism schrieb:

    Der Code sollte nebenbei bemerkt auch jede Menge Warnings produzieren oder?

    Nee, ohne die Fehlerstelle ist bei allen möglichen eingeschaltet Warnings bei mir kein warning ....



  • ok dan lieg a) ich falsch mit meiner Vermutung was der Fehler ist oder b) ich lieg mit den Warnings falsch ...

    EDIT://
    Ich geh dann mal ans nachsehen ob ich recht hatte mit dem Fehler 😉

    Disqualifiziert mich halt dann für das Finden jeglichen anderen Fehlers 😃



  • Ich werde noch 2-3 solcher Codes posten, danach wirds nich Stufe kniffliger mit Linkerfehlern bzw. kompilierbaren Fehlern. Heute aber keins mehr 🙂

    Wäre aber auch mal schön, wenn jemand anderes ein paar Leckerbissen hätte ...



  • Ich sags ja nur ungern, aber das zweite Beispiel kompiliert der VC 7.1 ohne Fehler/Warnung und gibt genau das aus, das man erwarten würde.



  • Ahh lotz, schnell lösch den letzten Satz. Erst nach 5h sind solche Bemerkungen erlaubt 😃



  • Ich dacht das wär kryptisch genug 🤡



  • hm also ich lag völlig daneben und bin mal auf die Erklärung gespannt 😉

    Aus der Fehlermeldung werd ich nämlich nicht schlau



  • Achja wenn andere auch nen Code posten, dann bitte aber nicht direkt harte Brocken, wir wollen uns schließlich langsam hocharbeiten 😉

    @darthdespotism : In nen paar Stunden kommt die Erklärung bestimmt von jemandem.



  • ich könnte die erklärung posten, weis aber net ob das zu früh ist 😉

    ich hab auchn recht kniffligen fehler, den ich dann die tage posten werd 😃



  • otze schrieb:

    ich könnte die erklärung posten, weis aber net ob das zu früh ist 😉

    Lass ihn doch noch 2h-40min zappeln 😃

    otze schrieb:

    ich hab auchn recht kniffligen fehler, den ich dann die tage posten werd 😃

    🙂



  • ich hab den krams grad mal durch nen compiler gejagt (g++). und die fehlermeldung war NICHT was ich erwartet hab Oo der fehler ist eindeutig das, was ich vermutet habe, aber ich frag mich grad, warum ... naja, der fehler kommt, den ich hier stehen hab ^^


Anmelden zum Antworten