extended_errorcheck

Controls the issuing of warning messages for possible unintended logical errors.

Syntax
  #pragma extended_errorcheck on | off | reset  
Remarks

If you enable this pragma, the C++ compiler generates a warning message for the possible unintended logical errors.

It also issues a warning message when it encounters a delete operator for a class or structure that has not been defined yet. The following listing shows an example.

Listing: Attempting to delete an undefined structure
#pragma extended_errorcheck on
struct X;

int func(X *xp)

{

     delete xp;    // Warning: deleting incomplete type X

}
An empty return statement in a function that is not declared void. For example, the following listing results in a warning message.
Listing: A non-void function with an empty return statement
int MyInit(void)
{

  int err = GetMyResources();

  if (err != -1)

  {

    err = GetMoreResources();

  }

  return; /* WARNING: empty return statement */

}

The following listing shows how to prevent this warning message.

Listing: A non-void function with a proper return statement
int MyInit(void)
{

  int err = GetMyResources();

  if (err != -1)

  {

    err = GetMoreResources();

  }

  return err; /* OK */

}