#define funktion
-
Ahoj

Also bei meiner ersten Frage geht es eigentlich um PI,denn wenn ich anstatt PI pI,Pi oder pi schreibe,funktioniert es nicht mehr richtig.. so schaut es richtig aus:
#define PI = 3.14Ich habe mal da zwei kleine fragen ;):
1.)#define : Warum muss man das "PI" -> PI schreiben?
2.) Was kann man noch definieren?
Also so zbsp.#define crystal 215231 #define test "Hallo"wie funktioniert des?/Kann man sie nur in Header am meisten definieren oder kann man auch nur in Sources schreiben(es geht ja beides,nur frag ich so halt)?/welche sachen kann man da noch definieren?/was gibts da noch für solche typen?/wo gibts tutorials?
primer
-
Hallo
funktioniert es nicht mehr richtig
Funktioniert nicht ist keine Ausreichende Fehlerbeschreibung.
define ist erstens keine Funktion, sondern eine Präprozessor-Anweisung.
Damit wird einfach eine Textersetzung definiert.
Zweitens ist define in C++ nicht zum Definieren von Konstanzen Werten da, denn define ist nicht typsicher. Nimm also gleich die echte C++ Varianteconst float PI = 3.14;bis bald
akari
-
-
Primer schrieb:
Ahoj

Also bei meiner ersten Frage geht es eigentlich um PI,denn wenn ich anstatt PI pI,Pi oder pi schreibe,funktioniert es nicht mehr richtig.. so schaut es richtig aus:
#define PI = 3.14Naja, das ist gültiger Code, er macht aber nicht, was du willst nehme ich an.
#define PI = 3.14 double blub = PI;wird ersetzt zu
double blub = = PIRichtig müsste deine Definition also lauten
#define PI 3.14Noch besser wäre es allerdings, wenn du auf akari hörst und das Ganze als Konstante definierst. Ansonsten könntest du Probleme bekommen, wenn du so etwas machst.
#define PI 3.14 void meineTolleFunktion() { double PI = 10; }dies würde ersetzt zu
#define PI 3.14 void meineTolleFunktion() { double 3.14 = 10; }was natürlich Blödsinn ist. Mit einem const wäre dir der Fehler erspart geblieben.