Hilfe bei Quellcode



  • Soll mich in ein Bereits vorhandenes Projekt reindenken. Leider läßte sich das Projekt nicht mal Kompilieren. Also muß ich mich erstmal kümmern das es funtzt nur leider bin ich C++ newbie.

    Kann mir Jemand mit einfachen worten sagen was in dieser Zeile des Code's passiert???

    CMarsDatabase * m_pdbKonfig;
    

    CMarsDatabase ist eine Klasse welche ich in der Klassen übersicht sehen kann

    Und in dieser Zeile bekomme ich dann einen Fehler

    m_pdbKonfig =  DBKonfig.Open();
    

    C:\Dokumente und Einstellungen\DHartung\Eigene Dateien\c++\Gesamtntt\Konfig.cpp(478) : error C2440: '=' : 'int' kann nicht in 'class CMarsDatabase *' konvertiert werden



  • Tinchen schrieb:

    Soll mich in ein Bereits vorhandenes Projekt reindenken. Leider läßte sich das Projekt nicht mal Kompilieren. Also muß ich mich erstmal kümmern das es funtzt nur leider bin ich C++ newbie.

    Kann mir Jemand mit einfachen worten sagen was in dieser Zeile des Code's passiert???

    CMarsDatabase * m_pdbKonfig;
    

    Du deklarierst eine Variable vom Typ "Zeiger auf CMarsDatabase" und nennst sie "m_pdbKonfig"

    Und in dieser Zeile bekomme ich dann einen Fehler

    m_pdbKonfig =  DBKonfig.Open();
    

    C:\Dokumente und Einstellungen\DHartung\Eigene Dateien\c++\Gesamtntt\Konfig.cpp(478) : error C2440: '=' : 'int' kann nicht in 'class CMarsDatabase *' konvertiert werden

    Vermutlich hast du die falsche Methode aufgerufen. Leider bin ich mir nicht sicher, was sich hiner der "DBKonfig" verbirgt, sonst könnte ich dir die richtige Methode nennen.



  • Kann mir Jemand mit einfachen worten sagen was in dieser Zeile des Code's passiert???

    CMarsDatabase * m_pdbKonfig;
    

    CMarsDatabase ist eine Klasse welche ich in der Klassen übersicht sehen kann

    Von rechts nach links lesen!

    m_pdbKonfig ist ein Zeiger auf eine Klasse CMarsDatabase.

    Und in dieser Zeile bekomme ich dann einen Fehler

    m_pdbKonfig =  DBKonfig.Open();
    

    C:\Dokumente und Einstellungen\DHartung\Eigene Dateien\c++\Gesamtntt\Konfig.cpp(478) : error C2440: '=' : 'int' kann nicht in 'class CMarsDatabase *' konvertiert werden

    [/quote]

    Tja, da passt was nicht zusammen. DBKonfig.Open() liefert einen int zurück
    und nicht einen Zeiger auf ein CMarsDatabase. Vielleicht wollte der
    ursprüngliche Programmierer eine Membervariable setzen oder er pfuscht
    mit Zeigern.

    Wie immer gilt die Devise:

    Entweder es ist genial oder falsch ;-)).



  • genial isses schonmal nicht, weil dann würde man es nachvollziehen können ...



  • das wäre ja das geniale dran, das man es als normal sterblicher NICHT versteht

    aber ich halte es eindeutig für falsch und was wichtiger ist der Compiler ist meiner meinung



  • Taelan schrieb:

    das wäre ja das geniale dran, das man es als normal sterblicher NICHT versteht

    Was du meinst ist ein Hack. Ich finde genial, wenn ein komplizierter Sachverhalt durch ne simple, einfache Lösung dargestellt werden kann, weil sowas schnell ist und gut wartbar. DAS ist genial. Hacken kann jeder ... .



  • Pellaeon schrieb:

    genial isses schonmal nicht, weil dann würde man es nachvollziehen können ...

    Na ja...ich sag das immer wenn ich in produktivem Code besondere
    Codezeilen entdecke ;-)).


Anmelden zum Antworten