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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
MayaNash
1285 / 453 / 47
Регистрация: 24.08.2011
Сообщений: 2,214
#1

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

16.08.2013, 13:18. Просмотров 323. Ответов 4
Метки нет (Все метки)

В строке 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 минуты
А, уже все, поняла что там я совсем не то написала...
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.08.2013, 13:18
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Не получается присвоить значение указателю на функцию (C++):

Присвоить указателю значение, пример из интернета - C++
Добрый вечер. В интернете находил парочку таких примеров: 1.) int *x; cout&lt;&lt;*x; *x=100; 2.)

Надо указателю на long int присвоить значение указателя на char - C++
//есть указатель unsigned char* p_to_char = somthing; //и указатель unsigned long int* p_to_int; //надо p_to_int присвоить...

Как присвоить указателю значение другого указателя внутри процедуры? - C++
Подскажите пожалуйста. Вот я хочу одному указателю присвоить значение другого указателя внутри процедуры. Как это сделать ? Вот мой код. ...

ПРисвоить указателю нулевое значение- кк? с поммощщю каких знаков и действий? - C++
Пожалуста, обьясните принцип. Такого присвоения.

Не получается присвоить значение указателя в функции - C++
void Gauss(double *x,double b) { for (int i = n-1; i &gt;0 ; i--) { *x=0; for (int j = n; j &lt; i; j--) { *x+=-*x*A; } ...

Не получается присвоить значение двумерному массиву char - C++
объявляю двумерный массив (массив массивов в char для хранения имен файлов) в cpp файле char m_fname ; я хочу инициализировать...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Hugra
48 / 48 / 1
Регистрация: 18.07.2013
Сообщений: 138
Записей в блоге: 1
16.08.2013, 13:25 #2
Объясните пожалуйста , что не правильно и где исправить что бы работало.
Я так понимаю, что нельзя указывать на функцию, которая возвращает не статическую переменную.
0
IGPIGP
Комп_Оратор)
Эксперт по математике/физике
6471 / 3119 / 306
Регистрация: 04.12.2011
Сообщений: 8,594
Записей в блоге: 4
16.08.2013, 13:32 #3
Керра, попробуйте это прочесть. Озаглавлено как указатель на виртуальную, но речь идёт о любых:
Указатель на виртуальную функцию
Способ предложенный [ТC] - экзотика из числа "надо же", поэтому обратите внимание на ответы по теме.
Вкратце: не статический метод класса можно вызвать по указателю, но при этом используется указатель, через конкретный экземпляр. Синтаксис там есть.
Если метод статический, то доступ возможен через указатель использующий имя класса. Синтаксис тоже приведен
0
Fyret
184 / 170 / 13
Регистрация: 30.07.2013
Сообщений: 359
16.08.2013, 13:33 #4
Цитата Сообщение от Hugra Посмотреть сообщение
Объясните пожалуйста , что не правильно и где исправить что бы работало.
Я так понимаю, что нельзя указывать на функцию, которая возвращает не статическую переменную.
Можно. Только раз нам нужен указатель на функцию, то и присваивать ему надо адрес функции:
C++
1
2
//pGet = MyClass::GetVal;
pGet = &MyClass::GetVal;
1
MayaNash
1285 / 453 / 47
Регистрация: 24.08.2011
Сообщений: 2,214
16.08.2013, 13:33  [ТС] #5
Уже все поняла сама)) Всегда так - спрошу, и тут же сама нахожу ответ))
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.08.2013, 13:33
Привет! Вот еще темы с ответами:

Не получается присвоить значение элементу массива указателей типа char *a[3] - C++
В попытках разобраться с массивами, указателями, массивами указателей и т.п. написал вот такой код: int main() { char *a = {...

Присвоить указателю конкретный адрес - C++
Есть переменная типа str.Допустим там хранится строка &quot;5a32d8&quot;.Как это значение присвоить указателю. Т.е. чтобы указатель указывал на...

Присвоить Указателю адрес из массива Char - C++
Например есть такой код: #include &lt;iostream&gt; using namespace std; int main() { int a = 123456789; int *sa =...

Двумерный массив указателей присвоить другому указателю - C++
char *tp = { &quot;bb&quot;, &quot;vv&quot;, &quot;zz&quot;, &quot;kk&quot;, &quot;&quot; }; char ***mp = tp; // вот здесь ошибка что нужно прописать чтоб...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
16.08.2013, 13:33
Ответ Создать тему
Опции темы

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