000
21.09.2003, 11:17 Uhr
Pablo
Supertux (Operator)
|
Ich habe folgende Wrapper Funktion geschrieben:
C++: |
// in Datei allgemein.h char* get_next_token(char*); .....
// in datei a.c char* get_next_token(char* buffer) { return strtok(buffer, " ()"); }
|
Ich habe Funktionen, die get_next_token aufrufen, die auch in der Datei a.c enthalten sind: z.B:
C++: |
token = get_next_token(line[i]); // wobei line ein char** ist
|
Ich habe eine neue Datei meinem Projekt hinzugefügt, nämlich tool.c, die auch allgemein.h includiert. Und die Warpper-Funktion von strtok hab ich in die neue Datei tool.c kopiert und von a.c entfernt.
Wenn ich kompiliere bekomme ich die Warnung: warning: assignment makes pointer from integer without a cast Und wen ich
C++: |
token = (char*) get_next_token(line[i]); // wobei line ein char** ist
|
mache, bekomme ich keine Warnung.
Wieso bekomme ich die Warnung, wenn die aufrufende Funktion und die Warpper nicht in der selben Datei sind? -- A! Elbereth Gilthoniel! silivren penna míriel o menel aglar elenath, Gilthoniel, A! Elbereth! |