IMPTYPARG

658

Cannot determine implicit type arguments in call of generic method method

One or more argument types in a generic method were not explicitly declared, and the compiler could not infer the types from the arguments in the called method.

For example, for the following generic method declared with type arguments T and R:

method meth1<T,R>, void
    parm1, T
    parm2, R
proc
end

you would probably provide the types for T and R when calling the method, e.g.,

Cvar.meth1<string,int>(val1, val2)

However, the compiler also can infer types from the type of arguments in the call. If val1 was an int and val2 was a long, the compiler would infer the call

Cvar.meth1(val1, val2)

as

Cvar.meth1<int,long>(val1,val2)

If the compiler can't infer these types, an IMPTYARG error occurs. To fix the problem, you can declare the types explicitly.