Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
Florian Super JLI'ler

Alter: 37 Anmeldedatum: 20.06.2003 Beiträge: 302
Medaillen: Keine
|
Verfasst am: 30.12.2003, 22:37 Titel: zeiger auf Funktionen |
|
|
Hallo
Ich habe mal eine frage bezüglich den Zeigern.
Wie kann ich zeiger auf Funktionnen anwenden aber es
funktioniert einfach nicht kann mir jemand helfen.
Danke im Voraus
Bitte um ein CodeBeispiel |
|
Nach oben |
|
 |
Fallen JLI MVP


Alter: 40 Anmeldedatum: 08.03.2003 Beiträge: 2860 Wohnort: Münster Medaillen: 1 (mehr...)
|
Verfasst am: 30.12.2003, 22:42 Titel: |
|
|
http://www.jliforum.de/board/viewtopic.php?t=1538
Bevor jemand was zum Suchen sagt: Habe auch nicht gefunden _________________ "I have a Core2Quad at 3.2GHz, 4GB of RAM at 1066 and an Nvidia 8800 GTS 512 on Vista64 and this game runs like ass whereas everything else I own runs like melted butter over a smokin' hot 18 year old catholic schoolgirl's arse." |
|
Nach oben |
|
 |
TheMillenium Dark JLI'ler
Anmeldedatum: 21.07.2002 Beiträge: 1427 Wohnort: World Medaillen: Keine
|
Verfasst am: 30.12.2003, 23:08 Titel: |
|
|
Das versteht doch keiner!
Eine Funktion deklarierst du so:
Code: |
long Funktion (int);
|
Einen Funktionszeiger darauf so:
Code: |
long (*Funktion) (int);
|
Die Klammern () um den Funktionsnamen mit * sind wichtig!!!
Denn die Klammern um int binden enger, d.h. haben einen höheren Vorrang als Indirektionsoperator(*).
Wenn du die Klammern weglässt hast du nur eine Funktion die einen int entgegennimmt und einen Zeiger auf long zurückgibt.
Hoffe konnte dir helfen!  _________________ The source of all power is in its destiny... |
|
Nach oben |
|
 |
Florian Super JLI'ler

Alter: 37 Anmeldedatum: 20.06.2003 Beiträge: 302
Medaillen: Keine
|
Verfasst am: 30.12.2003, 23:17 Titel: |
|
|
Wie kann ich einen Funktionszeiger mit = in einen anderen
Funktionszeiger übertragen. |
|
Nach oben |
|
 |
TheMillenium Dark JLI'ler
Anmeldedatum: 21.07.2002 Beiträge: 1427 Wohnort: World Medaillen: Keine
|
Verfasst am: 30.12.2003, 23:20 Titel: |
|
|
Code: |
long Funktion (int);
long (*pFunktion1) (int);
long (*pFunktion2) (int);
pFunktion1 = &Funktion;
pFunktion2 = pFunktion1;
|
oder was meinst du? _________________ The source of all power is in its destiny... |
|
Nach oben |
|
 |
HotAcid Super JLI'ler

Alter: 43 Anmeldedatum: 04.08.2002 Beiträge: 372 Wohnort: Berlin Medaillen: Keine
|
Verfasst am: 31.12.2003, 10:55 Titel: |
|
|
[quote="TheMillenium"] Code: |
long Funktion (int);
long (*pFunktion1) (int);
long (*pFunktion2) (int);
pFunktion1 = &Funktion;
pFunktion2 = pFunktion1;
|
[quote]
Code: |
pFunktion1 = pFunktion2; |
Ich glaube, er meint eine einfache Zuweisung... Das funktioniert so, wie bei jeder anderen Zuweisung.
viele Grüße
Felix _________________ StGB §§ 328 Abs. 2 Pkt 3:
Mit Freiheitsstrafe bis zu fünf Jahren oder mit Geldstrafe wird bestraft, wer eine nukleare Explosion verursacht. |
|
Nach oben |
|
 |
xardias JLI Master

Alter: 38 Anmeldedatum: 28.12.2003 Beiträge: 804 Wohnort: Palo Alto, CA Medaillen: Keine
|
Verfasst am: 31.12.2003, 11:18 Titel: |
|
|
Man kann auch Funktionszeiger Typedef'en
Code: |
typedef long (*type_name) (int);
|
Kann manchmal ganz übersichtlich sein. |
|
Nach oben |
|
 |
|