Artery Geschrieben 19. Mai 2011 Teilen Geschrieben 19. Mai 2011 Hallo, ich hab ein paar Fragen zu Funktionen! 1. Wie kann ich eine Funktion erstellen, sodass sie beliebig viele Variabeln eines Datentypes aufnehmen könnte? So ungefähr wie bei printf oder sprintf, da kann man ja dann noch "beliebig viele" Variablen einbinden 2. Wie kann ich realisieren, das ich einen void Datentyp benutze? So ungefähr wie bei fwrite, wird auch void* verlangt, also das ich jetzt int* oder char* und beides in die gleiche Variable kommt? 3. Wie kann ich einen Zeiger auf eine Funktion erstellen und übergeben? Ich hoffe das geht und ihr wisst wie man es nicht allzukomplex lösen kann! MfG Artery Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
flashpixx Geschrieben 19. Mai 2011 Teilen Geschrieben 19. Mai 2011 1. Wie kann ich eine Funktion erstellen, sodass sie beliebig viele Variabeln eines Datentypes aufnehmen könnte? So ungefähr wie bei printf oder sprintf, da kann man ja dann noch "beliebig viele" Variablen einbinden va_start - C++ Reference Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Klotzkopp Geschrieben 20. Mai 2011 Teilen Geschrieben 20. Mai 2011 Zu 1 und 2: Sei dir bitte darüber im Klaren, dass du dich damit auf dünnes Eis begibst. Du nimmst damit dem Compiler die Möglichkeit, die Typen zu prüfen. Und du musst die Information, was genau du da übergibst, trotzdem irgendwie mitschleppen, das geht nämlich nicht automatisch. Wenn du einen void-Zeiger hast, der ein int* oder ein char* sein könnte, kannst du das dem Zeiger selbst nicht ansehen. Bei printf beispielsweise muss aus dem Formatstring hervorgehen, welche und wieviele zusätzliche Parameter übergeben wurden. Passt der Formatstring nicht -> Peng! 3. Wie kann ich einen Zeiger auf eine Funktion erstellen und übergeben? The Function Pointer Tutorials - Index Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.