vou admitir que estejas a usar C/C++ e em ambiente windows.
tens uma função na winapi para isso:
BOOL RemoveDirectory( LPCTSTR lpPathName );
a directoria tem de estar vazia e o teu programa tem de ter permições para a apagar. não existe maneira directa de apagar se não tiver vazia, se for acaso tiver ficheiros lá dentro tens de os apagar 1 a 1 e depois apagar a directoria.
funções para trabalhar com directorias na winapi:
http://msdn.microsoft.com/en-us/library/aa363950(VS.85).aspx
existe uma funçao rmdir na stdio se não estou em erro, mas se existir ela basicamente deve usa a função da winapi por isso vai dar ao mm.
outra opção é usar a boost (boost.org), uma das bibliotecas é para trabalhar com ficheiros/directorias e é multiplataforma.