Linkerfehler



  • Hallo zusammen!

    Ich erhalte folgende Fehlermeldung:

    ====================

    boardgame.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol ""public: bool __thiscall Hexteil::gibPruefeNachbarn(class Hexteil *)" (?gibPruefeNachbarn@Hexteil@@QAE_NPAV1@@Z)" in Funktion "_wmain".
    C:\Dokumente und Einstellungen\Dave\Eigene Dateien\Visual Studio 2008\Projects\boardgame\Debug\boardgame.exe : fatal error LNK1120: 1 nicht aufgelöste externe Verweise.
    Das Buildprotokoll wurde unter "file://c:\Dokumente und Einstellungen\Dave\Eigene Dateien\Visual Studio 2008\Projects\boardgame\boardgame\Debug\BuildLog.htm" gespeichert.
    boardgame - 2 Fehler, 0 Warnung(en)
    ========== Erstellen: 0 erfolgreich, Fehler bei 1, 0 aktuell, 0 übersprungen ==========

    Ich habe eigetnlich nur eine Klasse Hexteil.cpp, die dazugehoerige Headerdatei und eben die Mainklasse.

    Die Methode sieht so aus:

    bool gibPruefeNachbarn(Hexteil * hex)
    {
    bool myBool= false;
    Hexteil myHex;

    //myHex = hex;
    //int a = hex.gibxKoordinate();
    //int b = hex.gibyKoordinate();
    //cout << a << " " << b << " " ;

    (*hex).gibMatrix()[0][0];

    return true;
    }

    und der dazugehoerige Aufruf in der main:

    Hexteil * hexhex;
    Hexteil myHex = Hexteil(10,1);
    hexhex = &myHex;

    myHex.gibPruefeNachbarn(hexhex);

    ======================

    Hoffe das genuegt. Was bedeuten Linkerfehler an sich?

    Gruß,
    Thomas.



  • Du hast die Funktion nicht richtig definiert..
    Du hast eine freie Funktion definiert und keine Memberfunktion..

    So sollte das sein:

    bool Hexteil::gibPruefeNachbarn(Hexteil * hex)
    {
    bool myBool= false;
    Hexteil myHex;
    
    //myHex = hex;
    //int a = hex.gibxKoordinate();
    //int b = hex.gibyKoordinate();
    //cout << a << " " << b << " " ;
    
    (*hex).gibMatrix()[0][0];
    
    return true;
    }
    

    btw:
    Benutz das nächste mal bitte die cpp-Tags.


Anmelden zum Antworten