frage zu stack



  • #include <iostream>
    
    namespace Stack{
    void push(char);
    char pop();
    }
    void main()
    {
    
        Stack::push('c');
        Stack::pop();
    }
    

    fehler

    1>Stack.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol ""char __cdecl Stack::pop(void)" (?pop@Stack@@YADXZ)" in Funktion "_main".
    1>Stack.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol ""void __cdecl Stack::push(char)" (?push@Stack@@YAXD@Z)" in Funktion "_main".
    1>C:\Users\Dominik\Documents\Visual Studio 2008\Projects\Übungen\Debug\Übungen.exe : fatal error LNK1120: 2 nicht aufgelöste externe Verweise.
    1>Das Buildprotokoll wurde unter "file://c:\Users\Dominik\Documents\Visual Studio 2008\Projects\Übungen\Übungen\Debug\BuildLog.htm" gespeichert.
    1>Übungen - 3 Fehler, 0 Warnung(en)
    ========== Erstellen: 0 erfolgreich, Fehler bei 1, 0 aktuell, 0 übersprungen ==========
    

    der code hat keinen Sinn aber laufen sollts doch trotzdem.

    weis eienr den fehler?
    muss man was extra includen?


  • Mod

    Der Code wird ja auch compiliert. Aber die Funktionen push und pop werden bei dir nur beim Namen genannt (deklariert), nirgends definiert, daher kann der Linker sie nicht finden.



  • Nö, du hast lediglich die Funktionsdeklarationen geschrieben, die Implementation fehlt. Entweder gibt es sie wirklich nicht, oder du hast vergessen die dazugehörige .cpp Datei in das Projekt aufzunehmen.

    Das macht keinen Spaß mit dir, Sepp 😉



  • schso oke des is code ausm buch^^ dann hab ichs ned richtig verstanden thx


  • Mod

    bammes schrieb:

    schso oke des is code ausm buch^^ dann hab ichs ned richtig verstanden thx

    Dann ist dein Buch übrigens schlecht, denn der Code ist auch nicht standardkonform (void main) und würde auf vielen anderen Compilern nicht übersetzt werden. Und das Einbinden von iostream an der Stelle ist völlig sinnfrei.



  • Das ist aus "Die C++ Programmiersprache", ein hervorragendes Buch (meiner Meinung nach das Beste). Jedoch steht da statt main einfach f.
    Und Bammes, ich habe dir schon einmal geschrieben, dass dies nur ein kleines Beispiel aus dem 1. Kapitel ist; Stroustrup will hier auch nur namespaces, Funktionsaufrufe etc. zeigen.
    Der Stack aus der Standardbibiothek wird erst sehr viel später im Buch besprochen (wo genau, steht im Index 😉 )


  • Mod

    Vicious Falcon schrieb:

    Das ist aus "Die C++ Programmiersprache", ein hervorragendes Buch (meiner Meinung nach das Beste). Jedoch steht da statt main einfach f.

    In diesem Falle war meine Kritik ungerechtfertigt. Die Änderungen zum schlechten sind dann ja anscheinend durch bammes erfolgt.



  • hey sry für frage^^

    hab im kapitel "eine rundreise durch c++" gelesen weils halt am anfang war.

    aber des is wirklich nur ne rundreise 2 kapitel später gehts erst richtig los^^ deshalb hab ich nichts kapiert.

    jetzt merke ich dass das buch doch sehr einfach geschrieben ist

    🙄 🙄 🙄 🙄

    naja jetzt gehts mit dem lesen voran




Log in to reply