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

Как вызвать функцию через указатель? - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ длина замкнутой ломанной линии http://www.cyberforum.ru/cpp-beginners/thread1059215.html
помогите с задачей, вопрос жизни и смерти,безумно нужно определить длину замкнутой ломанной в N мерном пространстве. в программе вводятся размерность пространства и количество точек(по этим параметрам выделяется память (динамическая матрица) а также координаты точек. Сделать это с помощью функции. Ввести также дополнительную функцию для вычиссления расстояния между точками в N мерном...
C++ Считать символы из файла и записать из в другой файл Вот смотрите задача: Дан текстовый файл с символами "абвгд", используя fread, fwrite, вывести в другом файле "аzвгд".Вроде написал код, а с ним что-то не то((Помогите....Во время отладки просто консольное окно открывается и не закрывается. Алгоритм цикла: k=0 //смещение while (!feof(f1)) { считать символ из f1 проверить K если k=0x02, то записать свое если k!=0x02, то записать в f2... http://www.cyberforum.ru/cpp-beginners/thread1059203.html
Вызов конструктора шаблонного класса C++
Есть шаблонный класс стек, он является полем в классе Express, но компилятор выдает ошибку " Ошибка 1 error C2614: Express: недопустимая инициализация члена: 'Stack' не является базовым классом или членом" class Express { Stack <char> s; char *str; int len; public:
C++ Регулярные выражения
Ребят, у меня тут проблемы. В файле input.txt есть строчки, в которых нужно найти вес, т.е., например, 221 kg, 45g и отправить их в аутпут. Но она почему-то не работает. Помогите, пожалуйста. #include<iostream> #include<regex> #include<fstream> using namespace std; int main()
C++ Где допущена ошибка? :( Движение фигуры по кругу http://www.cyberforum.ru/cpp-beginners/thread1059195.html
Доброе времени суток! Помогите, пожалуйста, закончить программу. Долго уже над ней мучаюсь и не могу понять в чем проблема. Программа запускается, но ее моментально выбивает. Само задание: Построить фигуру, которая состоит из трех концентрических колец разного цвета. Фигура движется по кругу по часовой стрелке. И, непосредственно, код программы: #include<graphics.h> #include<stdio.h>...
C++ Последовательный поиск, Двоичное дерево поиска Ребята помогите пожалуйста нужно найти число N из записанных в фаиле чисел(тип double) и вывести его позицию и тоже самое нужно при помощи дерева двоичного поиска , на С нужно , помогииите ребяяят утром сдавать((((( подробнее

Показать сообщение отдельно
AlexLan73
2 / 2 / 1
Регистрация: 06.10.2013
Сообщений: 136
11.01.2014, 16:06  [ТС]     Как вызвать функцию через указатель?
Добрый день )))
Спасибо за пример, все работает великолепно.
Но программа быстро разрастается и требует новых решений ...

Задача такая- функции находятся находится в классе А.
В классе B из массива вызываются данные функции по адресам записанные в массив
В классе С записывают адреса вызываемых функций.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
typedef AmiVar (A::*pCross)(int, int);
struct МаssAdres 
{
    int  i;
    pCross _pCross;
};
class A
{
 
 // сами функции
 AmiVar CrossUp(int i, int imas) {}
 AmiVar CrossDn(int i, int imas) {}
 
};
 
class B
{
    МаssAdres  _masAdres[10]; 
 
    void ВызовФункции_по_Адресу(i)
    {
      this->*_masAdres[i]._pCross(5,5);
    }
 
}
 
class C 
{  
    void АдресФункции()
    {
       МаssAdres  C_masAdres;
       C_masAdres.i=1;
       C_masAdres._pCross=&A:: CrossUp;
// потом передать в класс B
     }
}
Все классы находятся в разных файлах.h

Начинает ругаться на->>> typedef AmiVar (A::*pCross)(int, int);
error C2645: нет полного имени для указателя на член (имеется ":: *')

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