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

Не получается преобразовать типы указателей на функцию - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Интерполирование http://www.cyberforum.ru/cpp-beginners/thread521275.html
Здравствуйте. Трудность в написании программы по интерполированию в СИ++. условия на фото
C++ Даны три строки. Определить, можно ли из символов первых двух строк получить третью строку. Не решается.. (( бьюсь 2 дня.. Код свой приводить не буду дабы не сбивать многоуважаемых программистов с толку) http://www.cyberforum.ru/cpp-beginners/thread521269.html
Определить общее время работы прибора за неделю. C++
Создайте структуру Время с элементами Часы, Минуты. Реализовать следующую задачу - у прибора зафиксировано время начала работы и время завершения работы в текущий день. Определить общее время работы прибора за неделю.
C++ Бинарный поиск (неотсортированный массив)
struct kontakt { string kto; string phone; }; Дан массив структур array.kto = name + char(30) + address; Нужно создать бинарный поиск (нужно искать очень быстро), vector, list, и все остальные читы - нельзя.
C++ Доступ к членам класса класса http://www.cyberforum.ru/cpp-beginners/thread521256.html
Всем привет. Вобщем есть базовый класс, и два производных. Пользователь вводит координаты нужно проверить факт пересечения одной фигуры с другой(прямоугольник и квадрат). Вопрос в следующем проверка такая:проверяю положение одной точки относительно другой, если она лежит между этим интервалом значит пересекает.Мне нужен доступ к точке которая является классом, который в свою очередь является...
C++ таймер Всем привет, подскажите, как создать внутренний таймер, то есть через что бы через некоторое количество секунд, программа опять выполняла определенный код... подробнее

Показать сообщение отдельно
Kastaneda
Модератор
Эксперт С++
 Аватар для Kastaneda
4248 / 2780 / 219
Регистрация: 12.12.2009
Сообщений: 7,109
Записей в блоге: 1
Завершенные тесты: 1
18.03.2012, 09:33     Не получается преобразовать типы указателей на функцию
Если имеется ввиду сделать нечто такое:
C++
1
2
3
typedef void (*fptr)(Point<float> &p);
A a;
fptr ptr = &a.func;
то так сделать неполучится. Дело в том, что функции-члены в действительности располагаются вне класса и первым аргуметом всегда принимают указатель на вызывающий объект (this). О передачи this заботится компилятор. Поэтому нельзя вызвать функцию-член без объекта, соответственно нельзя получить адрес функции-члена конкретного объекта, т.к. невозможно потом его использовать для вызова функции.
Т.е. вот так:
C++
1
2
fptr ptr = &a.func;
ptr(Point<float>());
сделать не получиться.
 
Текущее время: 09:00. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru