unverständliche compile fehler

hallo,
ich arbeite an einem c projekt mit KDevelop und bin jetzt am zweifeln.
gestern könnte ich viele dateien fehlerfrei compilieren und heute morgen habe weiter
gearbeitet und plötzlich sind hunderte fehlermeldung in fast jese datei gekommen.ich weiss
nicht genau was ich geändert oder falsch gemacht habe, dass zu diesem verhalten führte.
der compiler akzeptiert zb nicht mehr den commentar //
und zeigt iso fehler wie

ISO C forbids data definition with no type or storage class

in dem code:
typedef struct ASTRING
{
U_SHORT aref_nr; // Referenznummer
CHAR *ascii_name; // Bezeichnung ASCII-STRING
U_CHAR sps; // Nummer der SPS (1-MAXSPS)
U_CHAR ea_wert; // E - nur Eingangswert, A - Sollwerte
U_SHORT spsadr; // Adresse in der SPS (0 - MAXSPSADR)
SHORT len; // Anzahl der ASCII-Zeichen
U_CHAR *astrbuf; // Buffer fuer ASCII-String im Online
}
ASTRING;

kann mir jemand das erklären oder helfen?

youssef

hallo,

Hi,

ich arbeite an einem c projekt mit KDevelop und bin jetzt am
zweifeln. gestern könnte ich viele dateien fehlerfrei
compilieren und heute morgen habe weiter gearbeitet und
plötzlich sind hunderte fehlermeldung in fast jese datei
gekommen.ich weiss nicht genau was ich geändert oder falsch
gemacht habe, dass zu diesem verhalten führte.
der compiler akzeptiert zb nicht mehr den commentar //

Kommentare mit // einzuleiten ist ja auch kein (ANSI-) C, sondern C++.

und zeigt iso fehler wie

ISO C forbids data definition with no type or storage class

Ich mutmasze mal ganz keck, dasz vor dem noch mehr Fehler kommen.

kann mir jemand das erklären oder helfen?

frank@harbard [~] $ cat foo.c
typedef struct ASTRING
{
 unsigned short aref\_nr; // Referenznummer
 char \*ascii\_name; // Bezeichnung ASCII-STRING
 unsigned char sps; // Nummer der SPS (1-MAXSPS)
 unsigned char ea\_wert; // E - nur Eingangswert, A - Sollwerte
 unsigned short spsadr; // Adresse in der SPS (0 - MAXSPSADR)
 short len; // Anzahl der ASCII-Zeichen
 unsigned char \*astrbuf; // Buffer fuer ASCII-String im Online
} ASTRING;
frank@harbard [~] $ gcc -c -o /dev/null -pedantic -ansi foo.c
foo.c:3: parse error before `/'
foo.c:3: warning: no semicolon at end of struct or union
foo.c:11: ISO C forbids data definition with no type or storage class
frank@harbard [~] $ sed '/\/\//s%$% \*/%
\> /\/\//s%\/\/%/\*%' foo.c \>bar.c
frank@harbard [~] $ gcc -c -o /dev/null -pedantic -ansi bar.c
frank@harbard [~] $

Vermutlich hat jemand das -ansi in den Optionen des KDevelop angeschalten. Damit kenne ich mich leider nicht aus. Die saubere Loesung waere das Verwenden von /* C-Kommentaren */.

BTW: Du bist hier offtopic.

HTH,
Gruss vom Frank.