Я хочу, чтобы программа знала наименьшее число когда-либо замеченных и самое большое число . Это код:Ошибка: правый операнд <= имеет неправильный тип при использовании вектора
#include<iostream>;
#include<vector>:
#include<algorithm>
using namespace std;
int main(){
vector<double>number;
double x;
while (cin >> x){
number[0] =x ;
number.push_back(x);
}
for (int y=0; y <= number.size; y++){
sort(number.begin(), number.end());
if (number[y] >= number[0]){
cout << "the largest so far\n";
}
else if (number[y] >= number[number.size()/2]){
cout << "the smalest so far \n";
}
else{
cout << x;
}
}
}
Каждый раз, когда я запускаю код он показывает эту ошибку:
error C2297: '<=' : illegal, right operand has type 'unsigned int
(__thiscall std::vector<double,std::allocator<_Ty>>::*)(void) throw() const'
1> with
1> [
1> _Ty=double
1> ]
я пытаюсь исправить это, но я не знаю, что это проблема.
'size' - это функция-член, но вы обращаетесь к ней так, как будто это значение. –
FWIW, GCC и Clang дают действительно разумные сообщения об ошибках здесь. – chris
Если вы хотите узнать, являетесь ли вы самым высоким человеком в мире, вам нужно сравнить себя с самым высоким известным человеком, а не со всеми. Для этого вам не нужен вектор. – molbdnilo