Функция переименования против undef: конфликт с Windows API - PullRequest
5 голосов
/ 05 октября 2010

Это на самом деле произошло уже дважды. Я пишу кроссплатформенное приложение, и некоторые имена моих функций конфликтуют с Windows API. То, что я сделал (например, с LoadObject), было ...

#undef GetObject

Это нормальный подход, или я должен переименовать свои функции?

Ответы [ 3 ]

1 голос
/ 05 октября 2010

Вы можете поместить свои функции в пространство имен или класс (если применимо).Если вы звоните в классе, запомните ключевое слово this.this->aliasedFunction();

1 голос
/ 05 октября 2010

Если вы собираетесь использовать свой код вместе с Windows API, я бы рекомендовал переименовать функции.Да, это хлопотно, но это (на мой взгляд) лучше, чем неопределенные части Windows API, даже если вы не используете эти части (кому-то другому, использующему ваш код, возможно, потребуется использовать эти части).

0 голосов
/ 05 октября 2010

Если вы работаете с C ++, вы должны поместить свои функции в классы и пространства имен, чтобы избежать подобных проблем (или методов).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...