Compiler Error C2435

'identifier' : function called before default arguments were resolved

The specified 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)
   {
      b();                   // error caught here
   }
   void b(void* ptr = sp);   // move this line above the definition
   static void *sp;          // a() to avoid error
};