со своим итератором. Выдаёт такую ошибку:
std::_Sort_unchecked<_RanIt,bool(__cdecl *)(Student *,Student *)>(_RanIt,_RanIt,int64,_Pr)": невозможно преобразовать аргумент 3 из "VectorIterator<myVector<Student>>" в "int64"
1> with
1> [
1> _RanIt=VectorIterator<myVector<Student>>,
1> _Pr=bool (__cdecl *)(Student *,Student *)
1> ]
Почему третий аргумент тут int64?
Код показывай Несложно заметить, что указанный в ошибке шаблон - библиотечные внутренности и что там и зачем, знать необязательно
у тебя в лямбде указатель, а в векторе значение
все равно в карбюраторе конденсат
Сомневаюсь, что знание причины появления третьего параметра чему-то поможет) Некоторые детали реализации возможно и полезно знать, но точно не всякие мелочи вроде служебных параметров
Ну тогда вангую, что operator- вашего итератора вернул не ptrdiff_t
Такое и возвращает. Difference_type operator- (VectorIterator v) const { return m_ptr - v.m_ptr; }
Так а код то будет показан в минимально достаточном объеме? А это как-то не с руки гадать по ошибке без кода и даже без месседжей, сопутствующих ошибке в студии
кстати сами указатели тоже итераторы
Спасибо, кстати.
Мы так и будем слать код по три строчки или всё-таки весь зальем на пасту? У меня утром коннект к телепатической матрице плохо налажен, не читает определения параметров
Пока по ошибке можно разве что сказать, что компаратор не соответствует нужной сигнатуре: bool cmp(const Type1 &a, const Type2 &b);
Обсуждают сегодня