Как исправить ошибку файла заголовка? - PullRequest
3 голосов
/ 14 декабря 2010

Итак, мой вопрос: как исправить ошибку в заголовочном файле, чтобы программа работала нормально?Например, я использую C ++ Builder 2010, и когда включен файл winuser.h, программа всегда получает ошибку, подобную этой

Проверка зависимостей проекта ... Компиляция Project7.cbproj (настройка отладки) [Ошибка BCC32]winuser.h (47): E2257, ожидаемый полный контекст анализатора File6.cpp (4): #include c: \ program files (x86) \ embarcadero \ rad studio \ 7.0 \ include \ winuser.h [Ошибка BCC32] winuser.h(48): E2257, ожидаемый полный контекст синтаксического анализатора

Я пытаюсь заменить этот файл оригинальным из установки по умолчанию, но все равно получаю ту же ошибку, как это исправить?

Ответы [ 2 ]

4 голосов
/ 14 декабря 2010

Ошибка почти наверняка вызвана тем, какой код появляется перед строкой 4 File6.cpp.Скорее всего, это другой заголовочный файл, и в этом случае вполне вероятно, что код в нем искажен - например, отсутствует точка с запятой или фигурная скобка.

Самый быстрый способ убедиться, что winuser.h не является проблемой, - этоизмените порядок включения так, чтобы сначала включался winuser.h.

Другая возможность состоит в том, что что-то в winuser.h зависит от какого-то другого заголовка, ранее не включенного или напрямую включенного в winuser.h.Большинство заголовков Win32 API включены в windows.h, и, как правило, рекомендуется включать windows, h, а не один из его потомков .

2 голосов
/ 14 декабря 2010

Сообщение трудно прочитать, но на самом деле ошибка "E2257, ожидается" (ожидается кома)

Из документации студии RAD:

A comma was expected in a list of declarations, initializations, or parameters.

This problem is often caused by a missing syntax element earlier in the file 
or one of its included headers.

Сообщение об ошибке дает вам строку, где это произошло, и вам, вероятно, следует посмотреть до этого. Вероятно, есть некоторые '}', ')' или ';' или другой синтаксический указатель, отсутствующий в вашем коде непосредственно перед ошибкой (вероятно, перед включением заголовочного файла в ваш код). Полное сообщение об ошибке (вы его урезали) или реальный код облегчит поиск.

Также возможно, даже если маловероятно, что ошибка находится в одном из заголовков, включенных в winuser.h.

...