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

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

Восстановить пароль Регистрация
 
Керра
Модератор
 Аватар для Керра
1270 / 438 / 45
Регистрация: 24.08.2011
Сообщений: 2,123
16.08.2013, 13:18     Не получается присвоить значение указателю на функцию #1
В строке 26 говорит, что не может конвертировать тип. Что неправильно?
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
#include "stdafx.h"
#include <iostream>
#include <conio.h>
using namespace std;
 
class MyClass
{
private:
    int itsVal;
    static int numberOfObj;
public:
    MyClass(): itsVal(2*numberOfObj + 1) { numberOfObj++; }
    ~MyClass() { numberOfObj--; }
    static int GetNumber() { return numberOfObj; }
    int GetVal() const { return itsVal; }
};
 
int MyClass::numberOfObj = 0;
 
int main()
{
    MyClass *objOne = new MyClass, 
        *objTwo = new MyClass, 
        *objThree = new MyClass;
    int (MyClass::*pGet) () const = 0;
    pGet = MyClass::GetVal;
 
    cout << "At the beginning: " << MyClass::GetNumber() << endl;
 
    delete objOne;
    delete objTwo;
    delete objThree;
    cout << "At the end: " << MyClass::GetNumber() << endl;
    _getch();
    return 0;
}
Добавлено через 2 минуты
А, уже все, поняла что там я совсем не то написала...
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.08.2013, 13:18     Не получается присвоить значение указателю на функцию
Посмотрите здесь:

Не получается присвоить значение указателя в функции C++
Указателю на базовый класс присвоить адрес производного класса C++
Надо указателю на long int присвоить значение указателя на char C++
C++ Присвоить Указателю адрес из массива Char
ПРисвоить указателю нулевое значение- кк? с поммощщю каких знаков и действий? C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Hugra
 Аватар для Hugra
47 / 47 / 1
Регистрация: 18.07.2013
Сообщений: 138
Записей в блоге: 1
16.08.2013, 13:25     Не получается присвоить значение указателю на функцию #2
Объясните пожалуйста , что не правильно и где исправить что бы работало.
Я так понимаю, что нельзя указывать на функцию, которая возвращает не статическую переменную.
IGPIGP
Комп_Оратор)
 Аватар для IGPIGP
6172 / 2901 / 284
Регистрация: 04.12.2011
Сообщений: 7,712
Записей в блоге: 3
16.08.2013, 13:32     Не получается присвоить значение указателю на функцию #3
Керра, попробуйте это прочесть. Озаглавлено как указатель на виртуальную, но речь идёт о любых:
Указатель на виртуальную функцию
Способ предложенный [ТC] - экзотика из числа "надо же", поэтому обратите внимание на ответы по теме.
Вкратце: не статический метод класса можно вызвать по указателю, но при этом используется указатель, через конкретный экземпляр. Синтаксис там есть.
Если метод статический, то доступ возможен через указатель использующий имя класса. Синтаксис тоже приведен
Fyret
184 / 170 / 13
Регистрация: 30.07.2013
Сообщений: 359
16.08.2013, 13:33     Не получается присвоить значение указателю на функцию #4
Цитата Сообщение от Hugra Посмотреть сообщение
Объясните пожалуйста , что не правильно и где исправить что бы работало.
Я так понимаю, что нельзя указывать на функцию, которая возвращает не статическую переменную.
Можно. Только раз нам нужен указатель на функцию, то и присваивать ему надо адрес функции:
C++
1
2
//pGet = MyClass::GetVal;
pGet = &MyClass::GetVal;
Керра
Модератор
 Аватар для Керра
1270 / 438 / 45
Регистрация: 24.08.2011
Сообщений: 2,123
16.08.2013, 13:33  [ТС]     Не получается присвоить значение указателю на функцию #5
Уже все поняла сама)) Всегда так - спрошу, и тут же сама нахожу ответ))
Yandex
Объявления
16.08.2013, 13:33     Не получается присвоить значение указателю на функцию
Ответ Создать тему
Опции темы

Текущее время: 10:51. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru