Если я использую обычный текстовый редактор или Code :: Blocks, эта проблема не возникает.
но в Visual Studio я должен включить заголовочный файл stdafx.h, чтобы скомпилировать программу без ошибок. Я хочу знать, для чего нужен этот заголовочный файл и почему его используют в visual studio.
Я использую Visual Studio Enterprise (2015).
stdAfx.h это имя файла по умолчанию, используемое для создания Предварительно скомпилированный заголовок (увидеть Создание предварительно скомпилированных заголовочных файлов), при создании стандартного проекта с использованием Visual Studio Новый проект Мастер. Предварительно скомпилированные заголовки могут значительно сократить время компиляции проекта, создав дамп двоичного представления проанализированных и предварительно скомпилированных заголовков. Обычно в предварительно скомпилированные заголовки следует включать только редко меняющиеся заголовки (заголовки Windows SDK, заголовки стандартной библиотеки C ++, заголовки CRT и т. Д.).
Использование предварительно скомпилированных заголовков контролируется через / Y (предварительно скомпилированные заголовки) переключатель компилятора. Если вы не хотите использовать предварительно скомпилированные заголовки, убедитесь, что ни / Yc (Создать файл скомпилированного заголовка) ни / Yu (Использовать предварительно скомпилированный заголовочный файл) устанавливается в настройках вашего проекта.
Если вы хотите использовать предварительно скомпилированные заголовки, но не хотите (или не можете) включать предварительно скомпилированный заголовочный файл в качестве первого включения во все модули компиляции, вы можете использовать / FI (имя принудительного включения файла) вместо компилятора.
Других решений пока нет …