-         

Ergebnis 1 bis 5 von 5

Thema: Mit #define zugewiesene Konstanten nicht zuweisbar?

  1. #1
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    16.06.2005
    Ort
    Göppingen
    Beiträge
    360

    Mit #define zugewiesene Konstanten nicht zuweisbar?

    Anzeige

    Moin zusammen,

    kann mir bitte jemand sagen warum ich eine mit #define definierte konstante nicht auf Variablen zuweisen kann?

    Bspw: #define meineKonstante 1;

    Im Source: Variable = meineKonstante;
    ->löst einen Compilererror aus das er eine Klammer anstatt dem semikolon erwartet..

    An welchem Schalter muss man drehen das das funktioniert?
    Danke

    Tobi

  2. #2
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    11.12.2007
    Ort
    weit weg von nahe Bonn
    Alter
    33
    Beiträge
    2.382
    wei das smikolon HINTER dem define zu viel ist,

    # sind precompileranweisungen, der sucht ALLE begriffe die meineKonstante heissen und ersetzt diese mit 1;

    d.h. in deinem text steht
    Variable = 1;;

    EDIT stell dir bildlich vor das der precompiler über deinen source geht und wort für wort ersetzt was du da geschrieben hast, am ende compiliert er den text erst durch.

  3. #3
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    16.06.2005
    Ort
    Göppingen
    Beiträge
    360
    Aha ok ist logisch... Danke für die schnelle hilfe

  4. #4
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    21.12.2004
    Alter
    33
    Beiträge
    165
    Bspw:
    Bitte das naechste mal den fehlerhaften Code posten, dein Beispiel funktioniert naemlich hervorragend.

    d.h. in deinem text steht
    Variable = 1;;
    und? Das kompiliert einwandfrei. ";" Bedeutet einfach NOP. Und wird idR vom Compiler? wegoptimiert.



    Meine Vermutung ist das hier mal wieder das "Beispielsweise"-Problem zugeschlagen hat, und die Variable in einer Schleife oder If-Konstruktion verwendet wurde.

  5. #5
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    16.06.2005
    Ort
    Göppingen
    Beiträge
    360
    Fast. Wurde in einem Funktionsaufruf verwendet. Trotzdem wär es nicht die feinste art in einem Code ein nop zu verstecken welches nicht dokumentiert ist.

    Codesample konnte ich leider nicht online stellen weil ich nur über nen PDA über ein hotspot online war.

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •