Compiler Error C2441

function call through pointer before default arguments were resolved

A function was declared or defined with default arguments, but was called before the default arguments were defined.

The following is an example of this error:

class C
{
public:
   void a(void)
   {
      (*c)();                   // error caught here
   }
   void (*c)(void*ptr = sp);    // move this line above the definition of
   static void *sp;             // a() to avoid error
};