Warum kommt der Fehler?
-
Also Zeile fünf oben ist bei mir die 13.
Also die hier:struct *dirent dirResult;
-
Hast du windows includiert ? Und für dir sachen gabs auch niocht nen anderen header redir.h oder so , weiß nicht mehr genau
-
Ich arbeite mit Linux.
Und #include <dirent.h> hab ich auch
-
DirReadMain.cpp:13:3: error: expected primary-expression before ‘struct’
Das kommt weil du das
struct dirent dirEntry;nicht machen kannst , soweit ich weiß.
-
Also....
struct structname {...}Du kannst struct keine 2 namen parameter oder was auch immer geben
Deswegen auch das bei dem 2. struct der not declared dirResult fehler
-
Woanders hat das auch problemlos funktioniert ... Diesselben drei Variablen, mit denselben Typen wie in der Funktion. Daran sollte es eigentlich nicht liegen ...
-
7xCore schrieb:
DirReadMain.cpp:13:3: error: expected primary-expression before ‘struct’
Das kommt weil du das
struct dirent dirEntry;nicht machen kannst , soweit ich weiß.
Wieso ? Das "struct" ist zwar überflüssig, aber doch nicht falsch ? Ich gehe mal davon aus, dass dieser "dirent"-strukt in "dirent.h" daklariert wird und er nun einfach eine Instanz davon anlegen will ?
-
Musst wohl
struct dirent* dirResultschreiben.
-
@7xCore: das struct hab ich aus der Datei dirent.h
Es kommt nicht von mir ...
-
Hm ...
DirReadMain.cpp:13:3: error: expected primary-expression before ‘struct’
DirReadMain.cpp:13:3: error: expected ‘;’ before ‘struct’Is das dein ganzer code ?Das sieht jetzt so aus als ob du ein ";" irgendwo vergessen hättest , was ich aber nicht erkennen kann.
-
Oh ok das hab ich falsch gedeutet mit dem struct.
-
cvcv schrieb:
Musst wohl
struct dirent* dirResultschreiben.
Das war die Antwort. Jetzt funktionierts ...

-
cvcv schrieb:
Musst wohl
struct dirent* dirResultschreiben.
QFT
edit: Zu spät...
-
7xCore schrieb:
Oh ok das hab ich falsch gedeutet mit dem struct.
Jup, hast du.
struct dirent dirEntry;ist C-Style, macht das Selbe wie in C++dirent dirEntry;. Funktioniert in C++ aus Kompatibilitätsgründen. Die zweite Version hätte in C nicht funktioniert, für sowas muss man dort immer sowas wiestruct dirent_ {}; typedef struct dirent_ dirent; //oder kurz: typedef struct dirent_ {} dirent;schreiben. Kurz gefasst: structs müssen in C auch immer mit struct benannt werden, typedefs kommen ohne weitere keywords aus.