Ошибка компилятора C2004
Обновлен: Ноябрь 2007
Сообщение об ошибке
Требуется "defined(id)"
expected 'defined(id)'
Идентификатор должен стоять в круглых скобках и сопровождаться ключевым словом обработчика.
Эта ошибка также может возникнуть в результате работы согласованности компилятора выполненной для Visual Studio .NET 2003: отсутствуют круглые скобки в директиве обработчика. Если в директиве обработчика отсутствует закрывающая круглая скобка, компилятор выдаст сообщение об ошибке.
Дополнительные сведения см. в разделе Сводная информация о критических изменениях времени компиляции.
Пример
Следующий пример приводит к возникновению ошибки C2004:
// C2004.cpp
// compile with: /DDEBUG
#include <stdio.h>
int main()
{
#if defined(DEBUG // C2004
printf_s("DEBUG defined\n");
#endif
}
Возможный способ устранения данной ошибки:
// C2004b.cpp
// compile with: /DDEBUG
#include <stdio.h>
int main()
{
#if defined(DEBUG)
printf_s("DEBUG defined\n");
#endif
}