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

Проблемы с приведением типов для компоранда для qsort - C++

Восстановить пароль Регистрация
 
xtorne21st
интересующийся
300 / 271 / 19
Регистрация: 25.09.2010
Сообщений: 1,056
12.02.2013, 02:32     Проблемы с приведением типов для компоранда для qsort #1
Вот так всё ок (во всяком случаи компилятор не выдвинул никаких предупреждений):
C++
1
2
3
4
5
6
int comp(const void* i, const void* j)
{
    Worker* left = &(*(Worker*)i);
    Worker* right = &(*(Worker*)j);
    return left->surname > right->surname;
}
Пытаюсь минимизировать всё в одну строчу для return, что-то типа:
C++
1
2
3
4
int comp(const void* i, const void* j)
{
    return *(Worker*)i->surname > *(Worker*)j->surname;
}
да не тут-то было, перепробовал кучу вариантов и всё тщетно. Подскажите, пожалуйста, как нужно это сделать.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
kravam
быдлокодер
 Аватар для kravam
1512 / 872 / 44
Регистрация: 04.06.2008
Сообщений: 5,271
12.02.2013, 03:39     Проблемы с приведением типов для компоранда для qsort #2
Нужно определение Worker
alex_x_x
бжни
 Аватар для alex_x_x
2441 / 1646 / 84
Регистрация: 14.05.2009
Сообщений: 7,163
12.02.2013, 03:56     Проблемы с приведением типов для компоранда для qsort #3
читаем: http://en.cppreference.com/w/cpp/lan...tor_precedence

у тебя здесь бьются за порядок * и ->
-> приоритетней, чем * - поэтому и ошибка

должно быть так:
C
1
return ((Worker*)i)->surname > ((Worker*)j)->surname;
xtorne21st
интересующийся
300 / 271 / 19
Регистрация: 25.09.2010
Сообщений: 1,056
12.02.2013, 04:32  [ТС]     Проблемы с приведением типов для компоранда для qsort #4
Цитата Сообщение от alex_x_x Посмотреть сообщение
у тебя здесь бьются за порядок * и ->
-> приоритетней, чем * - поэтому и ошибка
Я наверно все варианты перепробовал кроме правильного

Добавлено через 6 минут
Цитата Сообщение от alex_x_x Посмотреть сообщение
-> приоритетней, чем * - поэтому и ошибка
А по вашей ссылке, вроде ноборот
alex_x_x
бжни
 Аватар для alex_x_x
2441 / 1646 / 84
Регистрация: 14.05.2009
Сообщений: 7,163
12.02.2013, 04:40     Проблемы с приведением типов для компоранда для qsort #5
Цитата Сообщение от xtorne21st Посмотреть сообщение
А по вашей ссылке, вроде ноборот
как так

2 −> Element selection through pointer
3 * Indirection (dereference)
xtorne21st
интересующийся
300 / 271 / 19
Регистрация: 25.09.2010
Сообщений: 1,056
12.02.2013, 05:12  [ТС]     Проблемы с приведением типов для компоранда для qsort #6
Цитата Сообщение от alex_x_x Посмотреть сообщение
2 −> Element selection through pointer
3 * Indirection (dereference)
Прошу прощения, перепутал с Pointer to member. Ночь пора спать
Ещё раз спасибо.
0x10
12.02.2013, 06:06     Проблемы с приведением типов для компоранда для qsort
  #7

Не по теме:

А что мешает использовать http://www.cplusplus.com/reference/algorithm/sort/ ?

Yandex
Объявления
12.02.2013, 06:06     Проблемы с приведением типов для компоранда для qsort
Ответ Создать тему
Опции темы

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