Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 25.09.2013, 15:50   #11
_Bers
Старожил
 
Регистрация: 16.12.2011
Сообщений: 2,329
По умолчанию

Цитата:
Сообщение от zern0 Посмотреть сообщение
Я вообще то девушка
Вах вах!

Бросай это дело! Пока не поздно!
Иди на парикхмахера!
_Bers вне форума Ответить с цитированием
Старый 25.09.2013, 15:57   #12
zern0
Новичок
Джуниор
 
Аватар для zern0
 
Регистрация: 25.09.2013
Сообщений: 14
По умолчанию

Вот закончу университет и обязательно пойду))
Парикмахеры сейчас хорошо зарабатывают))
zern0 вне форума Ответить с цитированием
Старый 25.09.2013, 16:07   #13
_Bers
Старожил
 
Регистрация: 16.12.2011
Сообщений: 2,329
По умолчанию

Цитата:
Сообщение от zern0 Посмотреть сообщение
Вот закончу университет и обязательно пойду))
Парикмахеры сейчас хорошо зарабатывают))
да да!

Хорошего парикмахера найти так же трудно, как хорошего программиста, нуждающегося в парикмахере.


_Bers вне форума Ответить с цитированием
Старый 25.09.2013, 16:08   #14
zern0
Новичок
Джуниор
 
Аватар для zern0
 
Регистрация: 25.09.2013
Сообщений: 14
По умолчанию

_Bers, если я вас еще не замучила Подскажите что здесь не так? )

Код:
template<typename T>
void TC_List<T>::BubbleSort( bool (TC_List<bool>::*p_f)(const T_Node<bool> *p_a, const T_Node<bool> *p_b) const )
{
	for (int i=0; i!=m_size-1; ++i)
	{
		for (int j=0; j!=m_size; ++j)
			if (!(p_f(i, j)))
			{

			}
	}
}
\CodeBlocks\Laba\src\..\include\Bas e.h|547|error:
must use '.*' or '->*' to call pointer-to-member function in 'p_f (...)', e.g. '(... ->* p_f) (...)'|
zern0 вне форума Ответить с цитированием
Старый 25.09.2013, 16:15   #15
_Bers
Старожил
 
Регистрация: 16.12.2011
Сообщений: 2,329
По умолчанию

Код:
template<typename T>
void TC_List<T>::BubbleSort( bool (TC_List<bool>::*p_f)(const T_Node<bool> *p_a, const T_Node<bool> *p_b) const )//<--- принимает метод класса
{
	for (int i=0; i!=m_size-1; ++i)
	{
		for (int j=0; j!=m_size; ++j)
			if (!(p_f(i, j)))  //<--- для какого именно объекта дергается метод?
			{

			}
	}
}

Что бы запустить метод класса, нужно указывать, для какого объекта надо запустить этот метод класса


Код:
mObj.*mFunc(param);

Последний раз редактировалось _Bers; 25.09.2013 в 16:21.
_Bers вне форума Ответить с цитированием
Старый 25.09.2013, 16:26   #16
zern0
Новичок
Джуниор
 
Аватар для zern0
 
Регистрация: 25.09.2013
Сообщений: 14
По умолчанию

Не получается

Код:
if (!(*this->*p_f(i, j)))
Здесь объект это ведь *this?
zern0 вне форума Ответить с цитированием
Старый 25.09.2013, 16:38   #17
_Bers
Старожил
 
Регистрация: 16.12.2011
Сообщений: 2,329
По умолчанию

Код:
if (!(this->*p_f(i, j)))
или

Код:
if (!(*this.*p_f(i, j)))
ага ага ага ага ага ага ага ага ага ага

Последний раз редактировалось _Bers; 25.09.2013 в 16:43.
_Bers вне форума Ответить с цитированием
Старый 25.09.2013, 16:48   #18
zern0
Новичок
Джуниор
 
Аватар для zern0
 
Регистрация: 25.09.2013
Сообщений: 14
По умолчанию

Цитата:
Сообщение от _Bers Посмотреть сообщение
Код:
if (!(*this.*p_f(i, j)))
Ну не получается так. Вот опять эта ошибка

error: must use '.*' or '->*' to call pointer-to-member function in 'p_f (...)', e.g. '(... ->* p_f) (...)'|

Что я не так делаю ?
:conf used:

Последний раз редактировалось zern0; 25.09.2013 в 16:50.
zern0 вне форума Ответить с цитированием
Старый 25.09.2013, 17:00   #19
pproger
C++ hater
СтарожилДжуниор
 
Аватар для pproger
 
Регистрация: 19.07.2009
Сообщений: 3,336
По умолчанию

2_Bers
Код:
if (!(this->*p_f(i, j)))
выучи приоритет операций в крестах. у операторов ->* и .* приоритет меньше, чем у ()

нужно так
Код:
if (!((this->*p_f)(i, j)))
или
Код:
if (!((*this.*p_f)(i, j)))
I invented the term Object-Oriented, and I can tell you I did not have C++ in mind. (c)Alan Kay

My other car is cdr.

Q: Whats the object-oriented way to become wealthy?
A: Inheritance
pproger вне форума Ответить с цитированием
Старый 25.09.2013, 17:05   #20
pproger
C++ hater
СтарожилДжуниор
 
Аватар для pproger
 
Регистрация: 19.07.2009
Сообщений: 3,336
По умолчанию

2zern0
см мой предыдущий пост. когда эту ошибку поправишь, столкнешься со следующей. указатель на функцию-член у тебя принимает параметризованные указатели на объекты, а ты передаешь инты
I invented the term Object-Oriented, and I can tell you I did not have C++ in mind. (c)Alan Kay

My other car is cdr.

Q: Whats the object-oriented way to become wealthy?
A: Inheritance
pproger вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Присвоить Указателю адрес из массива Char _KUL Общие вопросы C/C++ 9 16.05.2013 04:28
Для public переменной класса присвоить адрес ячеек из внешней переменной _KUL Qt и кроссплатформенное программирование С/С++ 2 28.05.2012 12:04
Как присвоить адрес массиву? VintProg Общие вопросы C/C++ 20 28.10.2011 14:27
Как передать адрес метода из dll в приложение и присвоить его событию OnClick? puga555 Общие вопросы Delphi 1 22.12.2009 17:04
как вызвать в Dll по указателю функцию, которая определена в главном потоке? SaintRain Общие вопросы Delphi 1 25.11.2006 08:27