Kommentar: Einfügen von HTML im Kommentar: Link einfügen: <a href="LINKURL" target="_blank">LINKTITEL</a> Bild einfügen: <img src="BILDURL"> Text formatieren: <b>fetter Text</b> <i>kursiver Text</i> <u>unterstrichener Text</u> Kombinationen sind auch möglich z.B.: <b><i>fetter & kursiver Text</i></b> C Quellcode formatieren: <code>Quellcode</code> BASIC Quellcode formatieren: <basic>Quellcode</basic> (Innerhalb eines Quellcodeabschnitts ist kein html möglich.) Wichtig: Bitte mache Zeilenumbrüche, bevor Du am rechten Rand des Eingabefeldes ankommst ! -> I > > > > Hallo zusammen, > > > > ich bin der Meinung, dass das doppelte definieren einer Konstante über #define > > > > nicht erlaubt sein sollte und es der Compiler abfangen müsst. > > > > > > > > also > > > > > > #define MAX 10 > > > > > > ... > > > > #define MAX 20 > > > > > > > > darf der Compiler nicht zulassen. > > > > Was ist euere Meinung dazu? Was meinst du PeterS? > > > > > > > > Viele Grüße > > > > > > Jo > > > > Hallo Jo, Hallo miteinander, > > > die Möglichkeit einen #define zu redefinieren ist meiner Meinung nach kein Bug, sondern ein Feature, > > > dass auf jeden Fall erhalten bleiben sollte. Das ist durchaus üblich so, und es gibt auch einige > > > Anwendungsfälle dafür. > > > Der eingesetzte GNU Preprozessor lässt die Redefinition eines #define auch ausdrücklich zu. > > > Ich habe das schon genutzt. > > > > Gruß > > > Franz-Peter > > > > Hallo Franz-Peter, > > da möchte ich dir wiedersprechen... > > in jedem C-Dialekt den ich kenne ist das nicht erlaubt. Aber es gibt die Möglichkeit > > #undefine eine defintion wissentlich aufzuheben. > > Den Mehrwert allerdings #defines an unterschiedlichen Stellen neu zu verwenden kann ich mir nicht > > vorstellen. > > Viele Grüße > > > > Jo > > Hallo Jo, > der in der IDE eingesetzte Preprozessor wird ja nicht nur für die CC-Pro IDE eingesetzt, > und der erlaubt das explizit. Da steht in der Beschreibung ausdrücklich, dass Redefinitionen > unterstützt werden. Wie Joerg schreibt, lässt auch Visual Studio das zu (eine Warnung ist ok und > verhindert die Ausnutzung ja nicht ). > Ich habe so etwas schon mal ausgenutzt, indem ich eine Datei mehrmals mit Include eingebunden habe, > und mit entsprechend unterschiedlichen defines an einigen wesentlichen Stellen angepasst habe. > Das war zwar nicht im CC-Pro Umfeld, ich könnte mir da aber durchaus ähnliches vorstellen. > > Grundsätzlich hast Du insofern Recht, dass es sicher weniger fehlerträchtig ist, wenn man > vor einem Redefine das Symbol vorher mit #undefine explizit wieder freigeben muss. Damit könnte > man ein bewusstes Redefine von einem versehentlichen, fehlerhaften unterscheiden. > Gruß > Franz-Peter