ich habe endlich mal die Bedeutung von __stdcall und __cdecl erfahren. Damit klingt es auch logisch, dass Funktionen mit variabler Argumentzahl nur von __cdecl unterstüzt werden. Warum funktioniert es aber trotzdem noch, wenn man das __cdecl einfach weglässt?
Das dürfte stark compilerabhängig sein. Meine Vermutung ist, dass entweder dein Compiler per default cdecl benutzt, cdecl in deinem Projekt als Default eingestellt ist oder der Compiler bei Funktionen mit varargs implizit cdecl benutzt. stdcall ist in C und C++ aus offensichtlichen Gründen auch eher unüblich. -- Einfachheit ist Voraussetzung für Zuverlässigkeit. -- Edsger Wybe Dijkstra
ja, klingt logisch. Ich benutze VC++ 2008. Ich habe das nur in einem großen Projekt gesehen, aber da macht es ja auch Sinn, wenn das auf vielen Architekturen compiliert werden soll.