Задача была простая -- в начале выполнения программы удалить файл. Как это сделать? Можно было бы сделать system("del file.txt"). А можно было бы воспользоваться простой советской функцией Win32 API -- DeleteFile. Но я вспомнил, что буквально на днях видел класс CFile. И там была статическая функция, которая удаляет файл.
Ничтоже сумняшеся я написал CFile::Remove("file.txt") и успокоился. Первый раз сработала, второй раз сработала. А на третий я сделал перезапуск особым образом -- и произошла ситуация, при которой файла уже не было. Что же сделала эта функция, не обнаружив удаляющегося файла? Подсказка: функция оказалась типа void.
Она вывела на экран диалоговое окно! В котором сообщила, что файла, который я хочу удалить, нету. Ну спасибо.
У меня программа должна всё автоматически делать, а тут она повисла и ждёт, пока кто-нибудь закроет окно. А... как вообще предполагалось, что программа узнает, что удалить файл не удалось? Для каких же целей подойдёт эта функция? И для каких целей её делали разработчики?
В общем, не рекомендую.