PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : C Funktionspointer - ich steh grad auf der Leitung


an.zgep
2009-03-23, 19:21:48
Hallo,

bräuchte dringend Hilfe mit einem Funktionspointer:

testdriver.c:
#include "header.h"

int main(void) {
(*fp)(void);
}
header.h:
void fu(void);
void (*fp)(void) = fu;
beim linken wirft mir gcc einen Error, der da lautet:
header.o:(.data+0x15): multiple definition of `fp'
testdriver.o:(.data+0x30): first defined here

ich hab schon folgendes versucht:
testdriver.c
#include "header.h"

extern void (*fp)(void);

int main(void) {
(*fp)(void);
}
brachte keine Besserung.

Ich steh im Moment völlig am Schlauch, was hab ich schon mindestens 1000mal überlesen?

thx4help,
zgep

an.zgep
2009-03-23, 19:27:42
mensch, jetzt wo ichs ins Forum stelle und in größerer Schrift lese fällts mir wie Schuppen von den Augen: ich hab ne Definition statt ner Deklaration in die .h gebaut!

sry, ich versuch mal hier zu zu machen...

zgep

€: in den Themen-Optionen find ich nix, vllt. kann ein Mod zumachen wenn einer vorbeikommt, danke!

Gast
2009-03-24, 09:14:29
mensch, jetzt wo ichs ins Forum stelle und in größerer Schrift lese fällts mir wie Schuppen von den Augen:



Standardsituation. Erzähle das Problem einem Kollegen und du wirst ganz von alleine den Fehler entdecken.

robobimbo
2009-03-24, 10:38:32
machs doch im .h file extern