Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Martinz
1 / 1 / 0
Регистрация: 04.01.2011
Сообщений: 37
#1

Как узнать пространство имен? - C++

27.08.2012, 20:45. Просмотров 680. Ответов 6
Метки нет (Все метки)

Здравствуйте, возникла ситуация, при которой нужно явно указать, к какому пространству имен относится функция Ellipse. Я только начал изучать winapi, и возникла ситуация, что мой подключенный класс носит такое же имя - Ellipse. Гуглил инфу, подставлял и gdi:: и gdiplus:: и другие ругательства, угадать не получилось. Я понимаю, что такую ситуацию можно избежать, но хотелось бы узнать, как определить, к какому пространству имен относится та или иная функция?
Спасибо.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.08.2012, 20:45     Как узнать пространство имен?
Посмотрите здесь:

C++ Пространство имен
C++ пространство имен
Пространство имен std C++
C++ Пространство имен std
C++ Как правильно добавить в пространство имен?
пространство имен C++
Пространство имен C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ForEveR
Модератор
Эксперт С++
7958 / 4720 / 319
Регистрация: 24.06.2010
Сообщений: 10,525
Завершенные тесты: 3
27.08.2012, 20:47     Как узнать пространство имен? #2
Martinz, А не проще свой класс в namespace запихать? А узнать к какому ns что относится можно по документацию или посмотрев в хедеры.
Пaтрик
395 / 388 / 38
Регистрация: 21.01.2012
Сообщений: 972
Завершенные тесты: 1
27.08.2012, 20:48     Как узнать пространство имен? #3
Компилятор не дурак и думает так же как и вы, т.е. он тоже в непонятках к какому же пространству имен относится класс.
DU
1480 / 1056 / 45
Регистрация: 05.12.2011
Сообщений: 2,279
27.08.2012, 21:21     Как узнать пространство имен? #4
нужно найти хидер от этой функции и посмотреть, в каком пространстве имен эта функция объявлена.
Может оказаться так, что она в глобальном пространстве. И если в нем же присутствует еще одно такое имя, то тут у компилятора возникают к вам вопросы. Нужно или имя поменять, или засунуть его в какое-нибудь пространство имен. Или еще что-то сочинить. Сперва проблему до конца нужно понять.
Martinz
1 / 1 / 0
Регистрация: 04.01.2011
Сообщений: 37
27.08.2012, 22:37  [ТС]     Как узнать пространство имен? #5
Спасибо за ответы, нашел хедер файл - WinGDI.h, просмотрел, не нашел указаний на namespace.

Вообще, более конкретный вопрос - возможно ли явно указать функциям типа Ellipse, LineTo, SelectObject, DeleteObject, CreatePen, и множеству других winapi'шных, явно задать пространство имён?
Если возможно, то какое у этого пространства название? Если невозможно, почему?
DU
1480 / 1056 / 45
Регистрация: 05.12.2011
Сообщений: 2,279
27.08.2012, 22:44     Как узнать пространство имен? #6
ну значит речь идет о глобальном пространстве имен. а это просто ::
т.е.
::LineTo(...);
::SelectObject(...);
и т.д.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.08.2012, 23:15     Как узнать пространство имен?
Еще ссылки по теме:

Класс и пространство имен C++
C++ Пространство имен
Пространство имен C++
Как в C++ задать размеры консольного окна, используя пространство имен System C++
C++ Пространство имен

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Martinz
1 / 1 / 0
Регистрация: 04.01.2011
Сообщений: 37
27.08.2012, 23:15  [ТС]     Как узнать пространство имен? #7
Воот оно, то что нужно, совсем забыл про это, спасибо!
Yandex
Объявления
27.08.2012, 23:15     Как узнать пространство имен?
Ответ Создать тему
Опции темы

Текущее время: 14:57. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru