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

Указатель на метод класса (ошибка) - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ бот для браузерной флеш-игры http://www.cyberforum.ru/cpp-beginners/thread921806.html
ребят, понадобилась помощь! никогда не работал из с++ с флешь и браузером. это для меня в новинку.может кто знает как написать бота для флешь игры? мне нужно чтобы с браузера вообще не заходить в...
C++ Выделите-ка под массив память размером 32 ГБ Получил ряд вопросов от одной фирмы. Надо ответить чтобы удостоить себя собесодованием) Вот один из них. Словесно представьте вашу последовательность действий при написании программного кода... http://www.cyberforum.ru/cpp-beginners/thread921802.html
C++ Графический интерфейс для игр
Здравствуйте форумчане, хочу потренироваться, в частности в написании игр, изучаю С++, думаю на чем делать графику. Посоветуйте пожалуйста: немного знаю Qt, думаю может подучить QML и на версии 5.0....
C++ Массивы в C++: найти сумму всех элементов массива
Подскажите пожалуйста, где здесь ошибка? Мне нужно написать программу ввода 10 чисел в массив, и вывод их на экран с выводом суммы всех элементов массива... #include <stdio.h> #include...
C++ Заполнение матрицы случайными числами http://www.cyberforum.ru/cpp-beginners/thread921775.html
помогите пожалуйста.нужно сгенерировать 10 матриц и заполнить их случайными числами от 0 до 1.матрица объявляется int **M. Добавлено через 29 минут int **M; M=new int *; for (int i=0;i<m;i++) ...
C++ Реализовать задержку сигнала на 10 тактов реализовать задержку сигнала на 10 тактов(шагов цикла) для функции y=x, с использованием массива из 10 элементов в качестве стека для хранения промежуточных данных функции с задержкой подробнее

Показать сообщение отдельно
zybrzybr
17 / 16 / 0
Регистрация: 29.09.2010
Сообщений: 156

Указатель на метод класса (ошибка) - C++

11.07.2013, 23:24. Просмотров 480. Ответов 3
Метки (Все метки)

помогите исправить код что бы разобраться в нем)
взято с книги и не компилиться. выкидывает ошибку (code::blocks) :
"ошибка: некорректный вызов элемента-функции «void A::Func()» без объекта "

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
37
38
39
40
41
#include <iostream>
#include <windows.h>
using namespace std;
//////////////////////////// CLASS A ///////////////////////////////////
class A
{
    int i;
public:
    A (int ii) : i(ii) { ; }
    void Func ()
    {
        std::cout << " Hello! My datum is : " << i << "\n" << std::endl;
    }
    void callMemberPtr(void (A:: *funcPtr)( ))   // метод класса, вызывающий другой метод этого же класса,
                                                // адрес которого передается как аргумент
    {
        (*this.*funcPtr) ( );
        /// (this -> *funcPtr) ();
    }
};
/////////////////////////// END CLASS //////////////////////////////////
 
 
void UseMemFuncPtr (A *ObjPtr, void (A:: *funcPtr) ( ))
{
    (ObjPtr->*funcPtr) ();
}
 
int main()
{
  /*/ error -> /*/  void (A:: *funcPtr)( ) = &A::Func();       // Указатель на метод класса должен получить адрес какого-нибудь метода
                                                // совпадающего с ним по типам возвращаемого значения
    A a1 (1965);    /// создание обькта класса А с наальным значением элемента i
    UseMemFuncPtr(&a1, funcPtr);
    A a2 (3435);    // создание обьекта а2 класса А с начальным значением элемента i
    a2.callMemberPtr(funcPtr);
 
 
    system ("pause");
    return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru