• Hallo!

    ich programmier c++ noch nicht so lang! darum wird das eher ne leichte frage sein!

    ich hab eine Data.h:


    &dazu noch eine Data.cpp wo ich die Funktionen definiere!
    sobald ich jetzt die Data.h in meiner main.cpp inlude

    schreit der compiler:
    ... multiple definition of `data::N'
    ../Data.cpp:6: first defined here

    und das geiche für M auch

    was mach ich falsch?

    PS: ach ja die meldung bringt er beim linken

  • Data.cpp

    Data.h

    ach ja: übersetzten kein problem
    aber linken mag er nicht! (sobald ich die header-Datei in der main include)

  • Die Lösung ist, wie oben schon erwähnt, Variablen in Header-Files immer mit "extern" zu deklarieren. Und in genau einem Code-File dann eine Definition der Variablen anführen, also eine Wiederholung der Deklaration ohne "extern". (Blabla, globale Variablen böse, blabla.)

    *plantsch*

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!