163 / 163 / 22
Регистрация: 23.02.2011
Сообщений: 347
|
||||||
1 | ||||||
C++0x lambda (функция qSort не ест компаратор)16.06.2012, 15:02. Показов 3368. Ответов 5
Метки нет (Все метки)
Здравствуйте, у меня проблема: функция qSort не ест компаратор, если он объявлен как лямбда. Как это исправить?
вот код:
Код
tmp.cpp:46:54: error: no matching function for call to ‘qSort(int [7], int, int, main()::<lambda(int, int)>)’ tmp.cpp:46:54: note: candidate is: tmp.cpp:8:6: note: template<class T> void qSort(T*, int, int, bool (*)(T, T))
0
|
16.06.2012, 15:02 | |
Ответы с готовыми решениями:
5
Функция компаратор Новичек в Python, функция lambda Сконструировать \lambda-вызов и вычислить его значение Lambda Функция qsort |
594 / 532 / 76
Регистрация: 22.03.2011
Сообщений: 1,585
|
|
16.06.2012, 15:30 | 2 |
так сделайте его не лямбдой
0
|
61 / 58 / 12
Регистрация: 15.06.2012
Сообщений: 149
|
|
16.06.2012, 16:35 | 3 |
Попробуйте qSort<int>(...)
0
|
Каратель
|
||||||
16.06.2012, 16:43 | 4 | |||||
Сообщение было отмечено как решение
Решение
предикат нужно делать параметром шаблона, только так можно абстагироваться от функтора/указателя на функцию/лямбды
3
|
163 / 163 / 22
Регистрация: 23.02.2011
Сообщений: 347
|
|
16.06.2012, 17:19 [ТС] | 5 |
Jupiter, объясните пожалуйста еще раз, как это работает? Я же передаю указатель на функцию, а не на класс.
0
|
Каратель
|
|
16.06.2012, 17:22 | 6 |
это функция ваша принимает указатель на функцию, вот:
о чём вам и пишет компилятор, а лямбда указателем на функцию не является
1
|
16.06.2012, 17:22 | |
16.06.2012, 17:22 | |
Помогаю со студенческими работами здесь
6
Функция Qsort Lambda функция: проверка, является ли число автоморфным Не работает функция qsort Как думаете, является ли короткая lambda-функция недостатком? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |