Michael L. schrieb:> gibt es in C die Möglichkeit eine Funktion mit unterschiedlichen> Datentypen auszuführen?
für diesen zweck nicht wirklich. Hier könnte man sogar über ein Makro
nachdenken, dann ist der type egal.
Oder beliebigen anderen Integer-Typen. Im Endeffekt wird für jeden
angebenen Typ eine eigene Funktion speziell für diesen Typ erzeugt, die
dann auch entsprechend effizient ist.
Dies ist dann auch typsicher, d.h. so etwas wird vom Compiler
angemeckert:
1
uint8_tbla;
2
if(inc(bla,2,2217)){
3
}
und hat einen eigenen Scope und Typ, im Gegensatz zum Makro, und ist
deswegen vorzuziehen.
Peter II schrieb:> er wollte aber>>> gibt es in C die Möglichkeit
Diese Anforderung hat er vermutlich nur angegeben weil er kein C++
kannte; er kann mit großer Wahrscheinlichkeit einfach seinen Code mit
einem C++ Compiler compilen und die C-Kompatibilität von C++ nutzen.
@Peter:
Jetzt kompilierts bei mir auch ohne Fehler und Warnung. Die Klammer um
"var=bottom, 1" hat geholfen. Testen werd ichs aber heute nicht mehr.
Vielen Dank für die Hilfe.
@Dr. Sommer:
Dass es in C++ mehr Möglichkeiten gibt war schon bekannt. Es ging
wirklich explizit um C. Dennoch danke für den Post.
Rosa-Kleidchen schrieb:> Übergebe einen Void-Pointer und carste das dann in der Funktion abhängig> von dem, was Du erwartest:
naja, aber dann kann man auch gleich 2 Funktionen schreiben.
Rosa-Kleidchen schrieb:> Übergebe einen Void-Pointer und carste das dann in der Funktion abhängig> von dem, was Du erwartest:
Diese C-Ineffizienz... Langsamer und am Ende auch noch größer als die
C++ Template Version... Typunsicher sowieso.
Michael L. schrieb:> Es ging> wirklich explizit um C. Dennoch danke für den Post.
Wenn das nicht gerade eine Hausaufgabe ist in der steht "schreiben Sie
in C..." gibt es eigentlich kaum einen Grund nicht einfach mit C++ zu
compilen, die template-Funktion reinzuschreiben und den ganzen
restlichen Code zu lassen wie er ist...