On Sat, 23 Mar 2002, Laurent wrote: [ va_arg problems, code shortened to the relevant parts ]
> typedef long long Int64; > typedef int Int32; > typedef char Int8; > typedef double Float64; > typedef float Float32; > void bar(const int input, ...) > { > va_list args; > va_start(args, input); > switch(input) { > /* compiler barfs here */ > foo_Float32(input, va_arg(args, Float32)); This was just discussed on this list, va_arg(args, float) is _always_ wrong because float gets promoted to double when given as an argument to a variadic function. Same holds for va_arg(args, char), char gets promoted to int. Cheers, Lukas -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]