varargs

SCJP question: Java method overloading with var-args. What is the rationale?

Why does the following program throw an exception? public class MainClass{ public static void main(String[] argv){ callMethod(2); } public static void callMethod(Integer... i){ System.out.println("Wrapper"); } public static void callMethod(int... i){ System.out.println("Primitive"); } } The method cal...

Adding default arguments to variadic macro

Hi, Is it possible to add default arguments before variable argument in variadic macro? e.g I have the version of macro something like #define MACRO(arg1, ...) func(arg1, ##__VA_ARGS__) I would like to add 2 more default arguments in the macro before variable arguments so that it should not affect previous version. Like: #define MAC...

What does "..." mean in a C function declaration?

What does this mean? void message(int x, int y, ...) I can't understand what ... is. Can anybody explain? ...

how to pass variable arguments to another method ?

HI, i have googled and came to know that how to use the variable arguments. but i want to pass my variable arguments to another method. i m getting errors. how to do that ? -(void) aMethod:(NSString *) a, ... { [self anotherMethod:a]; // i m doing this but getting error. how to pass complete vararg to anotherMethod } ...

Split comma-separated parameters in LaTeX

I am trying to build a command which is similar to LaTeX \cite{}, which accepts a comma-separated list of parameters like this \cite{Wall91, Schwartz93} I would like to pass each item in the comma-separated list which the parameter represents to another command and return the concatenation of the individual results. I imagine it to be ...

Cost of using repeated parameters

I consider refactoring few method signatures that currently take parameter of type List or Set of concrete classes --List[Foo]-- to use repeated parameters instead: Foo*. Update: Following reasoning is flawed, move along... This would allow me to use the same method name and overload it based on the parameter type. This was not po...

toString method for varargs contructor

I have a varargs contructor like this : public class Sentence { public String[] str; public Sentence(Object... text){ StringBuilder sb = new StringBuilder(); for (Object o : text) { sb.append(o.toString()) .append(" "); } System.out.println(sb.toString()); } } Con...

In C++, do variadic functions (those with ... at the end of the parameter list) necessarily follow the __cdecl calling convention?

I know that __stdcall functions can't have ellipses, but I want to be sure there are no platforms that support the stdarg.h functions for calling conventions other than __cdecl or __stdcall. ...

bug with varargs and overloading?

There seems to be a bug in the Java varargs implementation. Java can't distinguish the appropriate type when a method is overloaded with different types of vararg parameters. It gives me an error The method ... is ambiguous for the type ... Consider the following code: public class Test { public static void main(String[] args) thr...

How to work with varargs and reflection

Simple question, how make this code working ? public class T { public static void main(String[] args) throws Exception { new T().m(); } public // as mentioned by Bozho void foo(String... s) { System.err.println(s[0]); } void m() throws Exception { String[] a = new String[]{"hello", "kit...

Using lazy evaluation functions in varargs

What is wrong is the following method? def someMethod(funcs: => Option[String]*) = { ... } ...

How to properly match varargs in Mockito

I've been trying to get to mock a method with vararg parameters using Mockito: interface A { B b(int x, int y, C... c); } A a = mock(A.class); B b = mock(B.class); when(a.b(anyInt(), anyInt(), any(C[].class))).thenReturn(b); assertEquals(b, a.b(1, 2)); This doesn't work, however if I do this instead: when(a.b(anyInt(), anyInt()))...

Looping through macro Varargs values

If I define some macro: #define foo(args...) ({/*do something*/}) Is there some way to actually loop through args rather than pass it along to another function? Something like #define foo(args...) \ { \ for (int i = 0; i < sizeof(args); ++i) { \ /*do something with args[i]*/ \ } \ ...

By-name repeated parameters

How to pass by-name repeated parameters in Scala? The following code fails to work: scala> def foo(s: (=> String)*) = { <console>:1: error: no by-name parameter type allowed here def foo(s: (=> String)*) = { ^ Is there any other way I could pass a variable number of by name parameters to the method? ...

multiple argument list with NS_REQUIRES_NIL_TERMINATION

Hello I have a function -(id) func: params1, ... NS_REQUIRES_NIL_TERMINATION and2: params2, ... NS_REQUIRES_NIL_TERMINATION; Compiler says: error: expected `;' before 'and2' Is there any way to make function with 2 argument lists? ...

In Lua, how to pass vararg to another function while also taking a peek at them?

It seems that in Lua, I can either pass vararg on to another function, or take a peek at them through arg, but not both. Here's an example: function a(marker, ...) print(marker) print(#arg, arg[1],arg[2]) end function b(marker, ...) print(marker) destination("--2--", ...) end function c(marker, ...) print(marker) print(#ar...

Passing mix of T and T[] to a Java varargs method

Suppose you have a Java method void foobar(int id, String ... args) and want to pass both String arrays and Strings into the method. Like this String arr1[]={"adas", "adasda"}; String arr2[]={"adas", "adasda"}; foobar(0, "adsa", "asdas"); foobar(1, arr1); foobar(2, arr1, arr2); foobar(3, arr1, "asdas", arr2); In Python there is "*"...

In scala can I pass repeated parameters to other methods?

Here is something I can do in java, take the results of a repeated parameter and pass it to another method: public void foo(String ... args){bar(args);} public void bar(String ... args){System.out.println("count="+args.length);} In scala it would look like this: def foo(args:String*) = bar(args) def bar(args:String*) = println("count...

Variable arguments and function overloading

I am trying to improve SQLite error handling in an existing C++ program. I have a custom type SQLiteException, and I want to write a macro to print the line number, file name, and error messages from SQL. I have the following functions defined: LogMessage(LPCTSTR message); // Does the real work. Appends a timestamp to the message and...

Is there any way to retrieve a float from a varargs function's parameters?

If the function was defined with a prototype which explicitly stated the types of the parameters, eg. void somefunc(int arg1, float arg2); but is implemented as void somefunc(int arg1, ...) { ... } is it possible to use va_arg to retrieve a float? It's normally prevented from doing this because varargs functions have implicit typ...