| Autor |
Nachricht |
Moinuel
Unregistrierter
|
Moinuel Unregistrierter
00:36:15 28.04.2012 Titel: |
C++ Funktionszeiger |
Zitieren |
Hallo,
ich möchte gerne den Funktionszeiger in C++ verwenden.
Ich habe eine STL Liste die diverse Funktionsnamen hält, die ich aufrufen möchte.
Statt einen switch-case Block zu machen, würde ich gerne einen Funktionszeiger machen, und darüber die Methode aufrufen.
| C++: | string mathodenaufruf="void output(int)";
void (*EinfuegeZeiger)(int);
EinfuegeZeiger=mathodenaufruf;
EinfuegeZeiger(1); | |
Also im Prinzip, will ich aus einem String (methodendeklaration für Zeiger) einen Methodenzeiger befüllen und die Methode aufrufen.
Hoffe das war einigermaßen verständlich... Ist das irgendwie möglich?
Vielen Dank im Voraus.
Gruß Manuel |
|
|
|
 |
cooky451
Mitglied
Benutzerprofil
Anmeldungsdatum: 16.10.2010
Beiträge: 6870
|
cooky451 Mitglied
01:00:54 28.04.2012 Titel: |
|
Zitieren |
Ich hab kaum was verstanden. Was genau willst du jetzt? Das da kann jedenfalls nicht funktionieren, zur Laufzeit gibt's keine Funktionsnamen mehr. Erklär mal was du machen willst, nicht wie. Und zwar möglichst umfassend: Was soll das Programm machen. |
_________________ Sie sind nicht berechtigt unrechtmäßige Kopien dieses Datenträgers zu erstellen.™
Keksverteilungsbeauftragter
Zuletzt bearbeitet von cooky451 am 01:01:15 28.04.2012, insgesamt 1-mal bearbeitet |
|
 |
314159265358979
Mitglied
Benutzerprofil
Anmeldungsdatum: 09.03.2010
Beiträge: 4658
|
314159265358979 Mitglied
01:02:33 28.04.2012 Titel: |
|
Zitieren |
Natürlich geht das. Aber ich zweifle mal an der Sinnhaftigkeit. |
|
|
|
 |
Moinuel
Unregistrierter
|
Moinuel Unregistrierter
01:23:17 28.04.2012 Titel: |
=) |
Zitieren |
Ich will im Prinzip einen String an mein Programm übergeben, und er ruft dann die Methode mit dem übergebenen Namen auf.
Also mal angenommen mein programm kennt die methode void printHallo();
Nun gibt der User über die Console printHallo ein.
Jetzt soll die Methode printHallo() aufgerufen werden.
Da mein Programm jetzt 100 unterschiedliche Methoden hat, und ich keinen riesen Switch bzw if-else block aufmachen will, brauch ich dafür eine Code-arme lösung =) |
|
|
|
 |
dot
Mitglied
Benutzerprofil
Anmeldungsdatum: 20.05.2004
Beiträge: 5618
|
dot Mitglied
01:39:40 28.04.2012 Titel: |
|
Zitieren |
std::unordered_map wär wohl eine Lösung. |
_________________ one point of view will never reveal the entire scene.
|
|
 |
cooky451
Mitglied
Benutzerprofil
Anmeldungsdatum: 16.10.2010
Beiträge: 6870
|
cooky451 Mitglied
01:42:47 28.04.2012 Titel: |
|
Zitieren |
Haben die Funktionen denn alle den gleichen Typ? (Gleiche Rückgabetypen, gleiche Parameter.) |
_________________ Sie sind nicht berechtigt unrechtmäßige Kopien dieses Datenträgers zu erstellen.™
Keksverteilungsbeauftragter
|
|
 |
dot
Mitglied
Benutzerprofil
Anmeldungsdatum: 20.05.2004
Beiträge: 5618
|
dot Mitglied
01:44:23 28.04.2012 Titel: |
|
Zitieren |
Und vor allem: Reden wir da jetzt von Methoden oder Funktionen? Das ist nämlich ein wesentlicher Unterschied... |
_________________ one point of view will never reveal the entire scene.
|
|
 |
|
Nächstes Thema anzeigen
Vorheriges Thema anzeigen
Sie können Beiträge in dieses Forum schreiben. Sie können auf Beiträge in diesem Forum antworten. Sie können Ihre Beiträge in diesem Forum nicht bearbeiten. Sie können Ihre Beiträge in diesem Forum nicht löschen. Sie können an Umfragen in diesem Forum nicht mitmachen.
|
|
|
|
|