Verwende ich isA und isB in der Initialisierung (siehe unten) erhalte ich eine Fehlermeldung. Ersetze ich die beiden "defines" durch ihre Zahlen, dann wird das Programm compiliert. Warum kann ich an dieser Stelle keine "defines" verwenden? Dachte bis jetzt der Präprozessor würde sich um die Ersetzung kümmern.
1 | #define isA 1;
|
2 | #define isB 7;
|
3 | #define isC 47;
|
4 | |
5 | struct stConfig |
6 | {
|
7 | int baud; |
8 | int clock; |
9 | int SPI1; |
10 | int SPI2; |
11 | int CD; |
12 | int Value; |
13 | };
|
14 | |
15 | struct stConfig Config[2] = |
16 | {
|
17 | {300, 16, 2, 1, 288, isA}, |
18 | {600, 16, 2, 1, 144, isC} |
19 | };
|
configfile.c(69): error: #67: expected a "}" configfile.c(69): error: #67: expected a "}" configfile.c(69): error: #169: expected a declaration