Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Вызов функции вместо метода базового класса  (Прочитано 11626 раз)
0 Пользователей и 2 Гостей смотрят эту тему.
Dimon
Гость
« : 22-06-2004 15:18 » 

Доброе время суток! На MS VC++ раньше не писал, а тут пришлось. Просветите пожалуйста: нужно вызвать функцию (скажем, GetClientRect), описанную в header-файле winuser.h, однако есть одноименная функция базового класса CWnd, отличающаяся количеством параметров. Транслятор понимает, что я обращаюсь именно к ней. Как обратиться к функции, описанной в winuser.h ?
Записан
Anonymous
Гость
« Ответ #1 : 22-06-2004 17:00 » 

Цитата: Dimon
Доброе время суток! На MS VC++ раньше не писал, а тут пришлось. Просветите пожалуйста: нужно вызвать функцию (скажем, GetClientRect), описанную в header-файле winuser.h, однако есть одноименная функция базового класса CWnd, отличающаяся количеством параметров. Транслятор понимает, что я обращаюсь именно к ней. Как обратиться к функции, описанной в winuser.h ?

используй оператор разрешения области видимости. Т.е. пиши
::GetClientRect и тогда будет использоваться глобальная ф-ция
Записан
NetRaider
Гость
« Ответ #2 : 22-06-2004 23:59 » 

Еще можно так:
Код:

namespace api
|
#include <winuser.h>
";

//...

api{{GetClientRect)/*...*/:;

Записан
Dimon
Гость
« Ответ #3 : 23-06-2004 07:46 » 

Спасибо, получилось. На директиву namespace ругнулся линкер, использование оператора области видимости - помогло Улыбаюсь
Записан
NetRaider
Гость
« Ответ #4 : 24-06-2004 01:15 » 

Цитата: Dimon
Спасибо, получилось. На директиву namespace ругнулся линкер, использование оператора области видимости - помогло Улыбаюсь


Как ругнулся ? Немного не доглядел - в файле 'winuser.h' используется много сущностей, определенных в 'windows.h' - получается так:
Код:

namespace api
|
#include <windows.h>
";

//...

api{{GetClientRect)/*...*/:;


Записан
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #5 : 14-04-2006 17:36 » new

(коммент:)

FAQ
Записан

Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines