Хотите улучшить этот вопрос? Обновите вопрос так, чтобы он вписывался в тематику Stack Overflow на русском.
Закрыт 1 год назад.
Ошибки в файле algorythm:
Ошибка C2676 бинарный "-": "const std::_List_unchecked_iteratorstd::_List_val<std::_List_simple_types<_Ty>>" не определяет этот оператор или преобразование к типу приемлемо к встроенному оператору Lab9 C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\include\algorithm 4138
Ошибка C2672 "_Sort_unchecked": не найдена соответствующая перегруженная функция Lab9 C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\include\algorithm 4138
Ошибка C2780 void std::_Sort_unchecked(_RanIt,_RanIt,iterator_traits<_Iter>::difference_type,_Pr): требует аргументов: 4, имеется: 3 Lab9 C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\include\algorithm 4138
Мой код
#include <iostream>
#include <list>
#include <algorithm>
using namespace std;
class Taburetka {
public:
string material;
string country;
int size;
Taburetka(string material, string country, int size) {
this->material = material;
this->country = country;
this->size = size;
}
string getCountry() {
return country;
}
string getMaterial() {
return material;
}
int getSize() {
return size;
}
void PrintObj() {
cout << material << " " << country << " " << size << endl;
}
};
struct comp {
bool operator()(const Taburetka& a, const Taburetka& b)const {
return a.size < b.size;
}
};
void Sort_Size(list<class Taburetka> TAB) {
}
void Print_Vector_Class(list<class Taburetka>) {
}
int main(){
list<class Taburetka> name;
Taburetka doski("doski", "Finnland", 4);
Taburetka nozhki("nozhki", "Kazakhstan", 4);
name.push_back(doski);
name.push_back(nozhki);
for_each(name.begin(), name.end(), [](Taburetka x) {
x.PrintObj();
});
sort(name.begin(), name.end(), comp());
cout << endl;
for_each(name.begin(), name.end(), [](Taburetka x) {
x.PrintObj();
});
cout << endl;
string material;
cout << "material?" << endl;
cin >> material;
for_each(name.begin(), name.end(), [material](Taburetka x) {
if (material == x.material) {
x.PrintObj();
}
});
}
как исправить?
Дело в том, что list
имеет двунаправленные итераторы, а алгоритм sort
требует итераторы произвольного доступа. Чтобы отсортировать list
используйте функцию-член этого класса:
name.sort(comp());
Алгоритм ::std::sort требует итераторов с произвольным доступом, которых контейнер ::std::list
не предоставляет. Используйте ::std::vector
или yo
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Написал алгоритм который должен сортировать числа в порядке возрастанияВвод через 1 строку
Пытаюсь я считать число из файла и сразу же вывести его в консоль, а выводиться неинициализированный участок памяти, а все данные из файла...
Реализую поиск минимума в очереди, но столкнулся с проблемой, что на больших массивах слишком долго работаетПодскажите, пожалуйста, можно...