On Fri, Apr 16, 2010 at 02:27:24PM +0200, JM wrote:
Hello
Is there anybody who made has some experiences with ellipsis?
I wrote the following code:
____
void add_vals(string first_property_name, ...) {
var l = va_list();
print("\n1:\t%s-%s\n\t%s-%s\n\n",first_property_name,
l.arg<string>(), l.arg<string>(), l.arg<string>());
add_vals_valist(first_property_name, l);
}
void add_vals_valist(string first_property_name, ...) {
var l = va_list();
print("\n2:\t%s-%s\n\t%s-%s\n\n", first_property_name,
l.arg<string>(), l.arg<string>(), l.arg<string>());
}
This is completely broken, va_list is different than ellipsis. You can't pass a va_list that way, the signature should be: add_vals_valist(string first_property_name, va_list l). That I know it's not possible to forward arguments to another function with ellipsis because of C/assembly calls limitations. -- http://www.debian.org - The Universal Operating System
Attachment:
signature.asc
Description: Digital signature