В Microsoft Visual Studio Community 2019, V 16.3.2 при попытке компиляции кода С++ с участием функции sort() получаю квест:
// ConsoleApplication3.cpp : Microsoft Visual Studio Community 2019
#include <iostream>
#include <string>
#include <vector>
#include <algorithm>
#include <cmath>
using namespace std;
int main()
{
vector<double> temps;
for (double temp; cin >> temp;)
temps.push_back(temp);
sort(temps[0], temps[1]);
}
1>------ Сборка начата: проект: ConsoleApplication3, Конфигурация: Debug Win32 ------
1>ConsoleApplication3.cpp
1>C:\Program Files\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.23.28105\include\algorithm(3466,5): error C2672: "_Sort_unchecked": не найдена соответствующая перегруженная функция
1>C:\Program Files\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.23.28105\include\algorithm(3471): message : выполняется компиляция ссылки на экземпляр шаблон функции "void std::sort<_RanIt,std::less<void>>(const _RanIt,const _RanIt,_Pr)"
1>C:\Program Files\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.23.28105\include\algorithm(3471): message : with
1>C:\Program Files\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.23.28105\include\algorithm(3471): message : [
1>C:\Program Files\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.23.28105\include\algorithm(3471): message : _RanIt=double,
1>C:\Program Files\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.23.28105\include\algorithm(3471): message : _Pr=std::less<void>
1>C:\Program Files\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.23.28105\include\algorithm(3471): message : ]
1>C:\Users\...\source\repos\ConsoleApplication3\ConsoleApplication3\ConsoleApplication3.cpp(15): message : выполняется компиляция ссылки на экземпляр шаблон функции "void std::sort<_Ty>(const _RanIt,const _RanIt)"
1>C:\Users\...\source\repos\ConsoleApplication3\ConsoleApplication3\ConsoleApplication3.cpp(15): message : with
1>C:\Users\...\source\repos\ConsoleApplication3\ConsoleApplication3\ConsoleApplication3.cpp(15): message : [
1>C:\Users\...\source\repos\ConsoleApplication3\ConsoleApplication3\ConsoleApplication3.cpp(15): message : _Ty=double,
1>C:\Users\...\source\repos\ConsoleApplication3\ConsoleApplication3\ConsoleApplication3.cpp(15): message : _RanIt=double
1>C:\Users\...\source\repos\ConsoleApplication3\ConsoleApplication3\ConsoleApplication3.cpp(15): message : ]
1>C:\Program Files\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.23.28105\include\algorithm(3466,1): error C2893: Сбой при специализации функции-шаблона "void std::_Sort_unchecked(_RanIt,_RanIt,iterator_traits<_Iter>::difference_type,_Pr)".
1>C:\Program Files\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.23.28105\include\algorithm(3436): message : см. объявление "std::_Sort_unchecked"
1>C:\Program Files\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.23.28105\include\algorithm(3466,1): message : Со следующими аргументами шаблона:
1>C:\Program Files\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.23.28105\include\algorithm(3466,1): message : "_RanIt=_Iter"
1>C:\Program Files\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.23.28105\include\algorithm(3466,1): message : "_Pr=_Fn"
1>Сборка проекта "ConsoleApplication3.vcxproj" завершена с ошибкой.
========== Сборка: успешно: 0, с ошибками: 1, без изменений: 0, пропущено: 0 ==========
Что тут не так? Спасибо за любой совет.
sort(temps.begin(), temps.end());
или
sort(begin(temps), end(temps));
Что вы хотели добиться записью
sort(temps[0], temps[1]);
категорически не понимаю...
Если хотите вставить элементы так, чтобы вектор оказался отсортированным, то можете: с самого начала заполнения вставить на последнем месте нужный элемент. Для этого есть стандартный альгоритм:
vector<double> temps;
for (double temp; cin >> temp;) {
temps.push_back(temp);
std::nth_element(temps.begin(), temps.end() - 1, temps.end());
}
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Все мы знаем, что если создать некую локальную переменную, например int a, в нее может попасть мусор и она не будет равна нулю, а может, например...
Вечер добрыйНужно написать функцию удаления каждого второго элемента списка
Пытаюсь в силу своих знаний написать движок дли игры в русские шашки на C++ (если точнее, уже по большей части написал)Требуется определить,...