JLI Spieleprogrammierung Foren-Übersicht JLI Spieleprogrammierung

 
 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen 
 medals.phpMedaillen   RegistrierenRegistrieren   ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

zeiger auf Funktionen

 
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> Entwicklung
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Florian
Super JLI'ler


Alter: 37
Anmeldedatum: 20.06.2003
Beiträge: 302

Medaillen: Keine

BeitragVerfasst am: 30.12.2003, 22:37    Titel: zeiger auf Funktionen Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden MSN Messenger
Fallen
JLI MVP
JLI MVP


Alter: 40
Anmeldedatum: 08.03.2003
Beiträge: 2860
Wohnort: Münster
Medaillen: 1 (mehr...)

BeitragVerfasst am: 30.12.2003, 22:42    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
TheMillenium
Dark JLI'ler



Anmeldedatum: 21.07.2002
Beiträge: 1427
Wohnort: World
Medaillen: Keine

BeitragVerfasst am: 30.12.2003, 23:08    Titel: Antworten mit Zitat

Das versteht doch keiner! Wink

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! Wink
_________________
The source of all power is in its destiny...
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Florian
Super JLI'ler


Alter: 37
Anmeldedatum: 20.06.2003
Beiträge: 302

Medaillen: Keine

BeitragVerfasst am: 30.12.2003, 23:17    Titel: Antworten mit Zitat

Wie kann ich einen Funktionszeiger mit = in einen anderen
Funktionszeiger übertragen.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden MSN Messenger
TheMillenium
Dark JLI'ler



Anmeldedatum: 21.07.2002
Beiträge: 1427
Wohnort: World
Medaillen: Keine

BeitragVerfasst am: 30.12.2003, 23:20    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden
HotAcid
Super JLI'ler


Alter: 43
Anmeldedatum: 04.08.2002
Beiträge: 372
Wohnort: Berlin
Medaillen: Keine

BeitragVerfasst am: 31.12.2003, 10:55    Titel: Antworten mit Zitat

[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
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
xardias
JLI Master


Alter: 38
Anmeldedatum: 28.12.2003
Beiträge: 804
Wohnort: Palo Alto, CA
Medaillen: Keine

BeitragVerfasst am: 31.12.2003, 11:18    Titel: Antworten mit Zitat

Man kann auch Funktionszeiger Typedef'en

Code:

typedef long (*type_name) (int);


Kann manchmal ganz übersichtlich sein.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> Entwicklung Alle Zeiten sind GMT
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.


Powered by phpBB © 2001, 2005 phpBB Group
Deutsche Übersetzung von phpBB.de

Impressum