Wie erreichen Sie das überladen von Funktionen in C?

Gibt es eine Möglichkeit zu erreichen, überladen von Funktionen in C? Ich bin auf der Suche einfache Funktionen zu überladen werden, wie

foo (int a)  
foo (char b)  
foo (float c , int d)

Ich denke, es ist keine gerade, vorne Weg; ich bin auf der Suche nach workarounds, wenn vorhanden.

  • Warum würden Sie wollen, dies zu tun? C hat keine polymorphen Fähigkeiten. Also foo(random-Typ) ist es unmöglich. Nur echte funcs foo_i, foo_ch, foo_d, etc.
  • Können Sie gehen den bösen Weg mit void-Zeigern und Typ-ids.
  • Ich habe das Gefühl, ich sollte die Aufmerksamkeit auf die Tatsache, dass die Antwort auf diese Frage hat sich verändert, seit es wurde ursprünglich gestellte, mit dem neuen C-standard.
InformationsquelleAutor FL4SOF | 2009-01-26
Schreibe einen Kommentar