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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ длина замкнутой ломанной линии http://www.cyberforum.ru/cpp-beginners/thread1059215.html
помогите с задачей, вопрос жизни и смерти,безумно нужно определить длину замкнутой ломанной в N мерном пространстве. в программе вводятся размерность пространства и количество точек(по этим...
C++ Считать символы из файла и записать из в другой файл Вот смотрите задача: Дан текстовый файл с символами "абвгд", используя fread, fwrite, вывести в другом файле "аzвгд".Вроде написал код, а с ним что-то не то((Помогите....Во время отладки просто... http://www.cyberforum.ru/cpp-beginners/thread1059203.html
Вызов конструктора шаблонного класса C++
Есть шаблонный класс стек, он является полем в классе Express, но компилятор выдает ошибку " Ошибка 1 error C2614: Express: недопустимая инициализация члена: 'Stack' не является базовым классом или...
C++ Регулярные выражения
Ребят, у меня тут проблемы. В файле input.txt есть строчки, в которых нужно найти вес, т.е., например, 221 kg, 45g и отправить их в аутпут. Но она почему-то не работает. Помогите, пожалуйста. ...
C++ Где допущена ошибка? :( Движение фигуры по кругу http://www.cyberforum.ru/cpp-beginners/thread1059195.html
Доброе времени суток! Помогите, пожалуйста, закончить программу. Долго уже над ней мучаюсь и не могу понять в чем проблема. Программа запускается, но ее моментально выбивает. Само задание: ...
C++ Последовательный поиск, Двоичное дерево поиска Ребята помогите пожалуйста нужно найти число N из записанных в фаиле чисел(тип double) и вывести его позицию и тоже самое нужно при помощи дерева двоичного поиска , на С нужно , помогииите ребяяят ... подробнее

Показать сообщение отдельно
AlexLan73
2 / 2 / 1
Регистрация: 06.10.2013
Сообщений: 141
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: нет полного имени для указателя на член (имеется ":: *')

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