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

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

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

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

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

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

Как правильно добавить в пространство имен? - C++
нужно добавить в пространство имен в заголовочном файле. //1.cpp с исходным кодом namespace AAA { int T; } /// AAA::T=5; ...

Как в C++ задать размеры консольного окна, используя пространство имен System - C++
Здрасти, вашему вниманию предлагается кусочек кода на C# Console.WindowTop = 0; Console.WindowLeft = 0; ...

пространство имен - C++
Здравствуйте! У меня вопрос...В си есть такая функция printf, которая аналогична функции С++ cout. Почему, когда нам необходимо...

Пространство имен - C++
Я часто встречаю в книгах, туторах, что объявлять пространство имен в больших проектах нельзя(не рекомендуемо), но нигде не сказано...

Пространство имен - C++
Зачем пространство имен в программировании я чет не понимаю? У мну в учебнике отак написано. Пространство имен, локализуя видимость...

Пространство имен - C++
Подскажите, пожалуйста. Если я создам своё пространство имен и в нем создам функцию, например, abc() и при использовании в main() using...

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

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

Пространство имен - C++
Здравствуйте, имеется код : triangle.h #ifndef TRIANGLE_H_INCLUDED #define TRIANGLE_H_INCLUDED namespace TRG { struct...

Пространство имен - C++
Как составить код, когда необходимо использовать классы и методы из разных пространств имен. К примеру используется cout из std и...

пространство имен - C++
Один практикующий программист сказал мне, что пространство именusing namespace std; нежелательно объявлять в начале программы, а лучше...

Пространство имен std - C++
Какой стиль лучше ? using std::cout; using std::endl; or using namespace std;


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

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