Ответ 1
должен быть:
#endif // USE_IOSTREAM
#endif // WIN32
endif
не принимает никаких аргументов. Такие комментарии размещаются только для удобства чтения
EDIT:
и вы пропустите закрытие #endif // _OM_NO_IOSTREAM
в конце
Я компилирую довольно большой проект с использованием компилятора VxWorks6.8 С++. Я получаю следующее предупреждение
предупреждение: дополнительные токены в конце директивы #endif
#ifndef _OM_NO_IOSTREAM
#ifdef WIN32
#ifndef USE_IOSTREAM
#define USE_IOSTREAM
#endif USE_IOSTREAM
#endif WIN32
Я получаю довольно много этих предупреждений.
- Почему я получаю эти предупреждения и от стандартной точки С++ Посмотреть?
- Какая причина, по которой компилятор предупреждает об этом?
- Каков наилучший способ исправить это?
Спасибо
должен быть:
#endif // USE_IOSTREAM
#endif // WIN32
endif
не принимает никаких аргументов. Такие комментарии размещаются только для удобства чтения
EDIT:
и вы пропустите закрытие #endif // _OM_NO_IOSTREAM
в конце
Поскольку после #endif
Кроме того, вам не хватает endif.
#ifndef _OM_NO_IOSTREAM
#ifdef WIN32
#ifndef USE_IOSTREAM
#define USE_IOSTREAM
#endif
#endif
#endif
#endif USE_IOSTREAM
#endif WIN32
// ^^^^^^^^^^^^ Compiler is warning about these extra tokens after endif directive.
Нет необходимости в идентификаторе после #endif
. Способ устранения этих предупреждений - удалить их.
Обычно вы не помещаете текст за #endif. (И вам не хватает #endif для OM_NO_IOSTREAM)
http://msdn.microsoft.com/en-us/library/ew2hz0yd%28v=vs.80%29.aspx