La función para eliminar el directorio lo elimina solo después de que la depuración finalice c ++

Tengo este código en c ++ para eliminar el directorio que incluye archivos:

void* hFind = INVALID_HANDLE_VALUE; WIN32_FIND_DATA ffd; hFind = FindFirstFile((fullpath+"\\" + _docname + "\\"+"*").c_str(), &ffd); do //delete all the files in the directory { // check if it is a file if (!(ffd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)) { string s = (fullpath+_docname+"\\").append(ffd.cFileName); remove(s.c_str()); } } while (FindNextFile(hFind, &ffd) != 0); removeDirectory(fullpath+"\\" + _docname); FindClose(hFind); 

El problema es que el directorio se elimina solo después de que cierre el dubugger. Durante la depuración, el directorio es inaccesible, pero aún existe, y me causa problemas. ¿Sabes cómo puedo arreglarlo para eliminar tottaly la carpeta?

el intercambio de las dos últimas líneas podría solucionar esto: cierre el manejador antes de eliminar el directorio

 FindClose( hFind ); removeDirectory( fullpath + "\\" + _docname );