C ++ Builder [C ++ Error] sysmac.h (58): объявление E2040 завершено неправильно - PullRequest
0 голосов
/ 30 марта 2009

Я хочу создать проект C ++ Builder DLL, который не использует VCL. Но я получаю эту ошибку в sysmac. Кто-нибудь знает возможную причину этой ошибки?

Ответы [ 3 ]

1 голос
/ 05 июня 2014

E2040 Объявление прекращено неправильно (C ++)

Объявление имеет дополнительный или неправильный символ завершения, например точку с запятой, помещенную после тела функции.

Функция-член C ++, объявленная в классе с точкой с запятой между заголовком и открывающей левой скобкой, также генерирует эту ошибку.

http://docwiki.embarcadero.com/RADStudio/XE3/en/E2040_Declaration_terminated_incorrectly_%28C%2B%2B%29

1 голос
/ 30 марта 2009

По предположению (потому что прошло около 5 лет с C ++ Builder), это потому, что для sysmac.h требуется VCL, из этого VCL Overview

Ключевое слово __declspec предоставляется для языковая поддержка с VCL для преодолеть ранее упомянутое Предметы. Файл sysmac.h предоставляет макросы, которые вы должны использовать, если вам нужно использовать это ключевое слово. __Declspec варианты обсуждаются далее

0 голосов
/ 05 мая 2009

Это означает, что вы включаете заголовок VCL где-нибудь в своем проекте - скорее всего, в файле, который скомпилирован как модуль C (отсюда и синтаксические ошибки).

Вы можете включить «Расширенную информацию об ошибках» в опциях проекта, чтобы отследить ответственный модуль.

...