Поделиться через


rename (#import)

Блок, относящийся только к языку C++

Обходит проблемы конфликтов имен.

rename("OldName","NewName")

Параметры

  • OldName
    Старое имя в библиотеке типов.

  • NewName
    Имя, используемое вместо старого имени.

Заметки

Если этот атрибут задан, компилятор заменяет все вхождения OldName в библиотеке типов предоставленным пользователем именем NewName в результирующих файлах заголовка.

Этот атрибут может использоваться, если имя в библиотеке типов совпадает с определением макроса в системных файлах заголовка. Если проблема не устранена, будут созданы различные синтаксические ошибки, например Ошибка компилятора C2059 и Ошибка компилятора C2061.

Примечание

Замена предоставляется для имени, используемого в библиотеке типов, а не для имени, используемого в открывшемся файле заголовка.

Например, предположим, что свойство MyParent существует в библиотеке типов, а макрос GetMyParent определен в файле заголовка и используется перед #import. Поскольку GetMyParent — имя по умолчанию функции-оболочки для свойства get обработки ошибок, возникает конфликт имен. Для решения проблемы используйте следующий атрибут в инструкции #import:

rename("MyParent","MyParentX")

чтобы переименовать имя MyParent в библиотеке типов. Попытка переименовать программу-оболочку GetMyParent завершится ошибкой:

rename("GetMyParent","GetMyParentX")

Это происходит потому, что имя GetMyParent может возникать только в открывшемся файле заголовка библиотеки типов.

Завершение блока, относящегося только к языку C++

См. также

Ссылки

Атрибуты #import (C++)

Директива #import (C++)