Макросы C перезаписывают имена C++C++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Макросы C перезаписывают имена C++

Сообщение Anonymous »

Я пишу приложение на C++, используя библиотеку TGUI. Поскольку у меня есть особые требования к Windows, я включил , чтобы передать собственный обработчик окна tgui.
Однако теперь у меня возникла интересная проблема. когда я хочу создать tgui MessageBox, используя его статическую функцию-член tgui::MessageBox::create(). Поскольку MessageBox — это макрос, определенный в windows.h как #define MessageBox MessageBoxA, теперь я получаю ошибки компиляции...
Есть ли какие-либо вообще способ «охватить» макросы C, или я могу только реорганизовать код, чтобы не содержать окно сообщения tgui и windows.h в одном файле?
Из конечно, общий вопрос: как мы безопасно включаем C-заголовки в различные макросы в C++? мы можем вообще?

Подробнее здесь: https://stackoverflow.com/questions/793 ... te-c-names
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»