Take a look at the piece of code:


Code:
APPGETTERLIST lpVirtPluginsList;

int APP_init()
{
  // add virtual plugins
  lpVirtPluginsList = new APPGETTERLIST;
  appLoadVirtPlugins(lpVirtPluginsList);

}

void APP_quit()
{

  {
    APPGETTERLIST::iterator iter = lpVirtPluginsList->begin();
    for( ; iter != lpVirtPluginsList->end(); ++iter)
    {
      delete (* iter);
    }
  }
  delete lpVirtPluginsList;
}
Everything goes fine. But when I change APP_quit() function to act like this
Code:
void APP_quit()
{

  {
    APPGETTERLIST::iterator iter = lpVirtPluginsList->begin();
    for( ; iter != lpVirtPluginsList->end(); ++iter)
    {
      delete (* iter);
    }
  }
  delete lpVirtPluginsList;
}
after close my progmra will stay in memory? What I don't know in C++? Could it be VC++7 compiler error?