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

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

Войти
Регистрация
Восстановить пароль
 
Crady
0 / 0 / 0
Регистрация: 18.01.2010
Сообщений: 18
#1

Неверный указатель на функцию - C++

02.01.2011, 20:48. Просмотров 553. Ответов 2
Метки нет (Все метки)

Доброго времени суток.
Есть следующий код:
classname.h
C++
1
2
3
4
5
6
7
8
9
class classname
{
public:
int func1(int*);
int func2();
int* getParam(void);
private:
int param;
}
classname.cpp
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include "classname.h"
int classname::func1(int* i)
{
//некий код
}
int classname::func2(....)
{
int x = func1(getparam()); //вот здесь vs 2010 говорит "error C2662: 'classname::getParam' :
//cannotconvert 'this' pointer from 'const classname' to 'classname &'
}
int* classname::getParam()
{
return &param;
}
Как исправить код, дабы вместо указателя на функцию передавался указатель на param?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.01.2011, 20:48     Неверный указатель на функцию
Посмотрите здесь:

Функция, получающая указатель на обычную функцию, получает указатель на метод класса - C++
Здравтсвуйте. Имеется вопрос по указателям на методы класса. Допустим, есть функция( f ), которая принимает указатель на функцию и...

Шаблоны функции и указатель на функцию передаваемый в функцию - C++
Привет! Вопрос такой: Если я пишу сортировку, например, bubbleSort и хочу помимо массива и его размера передать ещё и указатель на функцию,...

Составить функцию для вычисления суммы(неверный счет) - C++
Так же нужно вычислить функцию y, но с ней проблем нету. А вот сумму считает не правильно. Что тут можно исправить? Прикладываю код...

Указатель на функцию - C++
Доброго времени суток, коллеги! Навоял код - хочу с помощью указателя на функцию вывести значения массива с их адресами, но выводит...

Указатель на функцию - C++
Здравствуйте! Есть вот такой элемент кода: SimpleCat* FunctionTwo (SimpleCat * theCat); int main() { .................... ...

Указатель на функцию - C++
Проверял, что быстрее работает и столкнулся с дилеммой - по идее, ссылаться на функцию через указатель быстрей, чем просто вызывать ее, но...

Указатель на функцию - C++
Такая сточка кода: double (*ptr)(int, int); в контексте: double foo(int x, int y) { return x+y; }

Указатель на функцию - C++
Вот задание: Создать двумерный массив N*M и найти в нем максимальный и минимальный элемент и их индексы. Необходимо возвращать указатель...

указатель на функцию - C++
есть одна функция которая принимает указатель на функцию. я пытаюсь так сказать применить механиз MVC и все скрывать в классах, но как...

указатель на функцию - C++
У меня есть функция xxx(), как сделать на нее указатель?


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
silent_1991
Эксперт С++
4958 / 3034 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
02.01.2011, 21:00     Неверный указатель на функцию #2
Так, для начала выясним следующее: где вы здесь вообще видите указатели на функции? После этого продолжим дальше разбор.
Crady
0 / 0 / 0
Регистрация: 18.01.2010
Сообщений: 18
02.01.2011, 21:19  [ТС]     Неверный указатель на функцию #3
Упс, это видимо недавний НГ и спешка сказываются, неправильно понял ошибку.
Так же уже и нашел решение:
C++
1
2
3
4
5
6
7
8
9
class classname
{
public:
int func1(int*);
int func2();
int* getParam(void) const; //вот и все решение
private:
int param;
}
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include "classname.h"
int classname::func1(int* i)
{
//некий код
}
int classname::func2(....) const
{
int x = func1(getparam()); //вот здесь vs 2010 говорит "error C2662: 'classname::getParam' :
//cannotconvert 'this' pointer from 'const classname' to 'classname &'
}
int* classname::getParam() const
{
return &param;
}
Спасибо за внимание и направление в нужное русло)
Yandex
Объявления
02.01.2011, 21:19     Неверный указатель на функцию
Ответ Создать тему
Опции темы

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