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

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

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

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

02.01.2011, 20:48. Просмотров 545. Ответов 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++
C++ Указатель на функцию
указатель на функцию C++
Зачем передавать в функцию X указатель на callback функцию, если последняя ВНЕШНЯЯ и вызовется БЕЗО ВСЯКОГО УКАЗАТЕЛЯ? C++
C++ Указатель на функцию
C++ Указатель на функцию, С++
Указатель на функцию C++
Составить функцию для вычисления суммы(неверный счет) C++
C++ Указатель на функцию возвращающую указатель
C++ Указатель в функцию
C++ Указатель на функцию
C++ Указатель на функцию

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
silent_1991
Эксперт С++
4956 / 3032 / 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     Неверный указатель на функцию
Ответ Создать тему
Опции темы

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