• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

error no match for operator

–1 głos
11,065 wizyt
pytanie zadane 10 stycznia 2018 w C i C++ przez ildan91 Użytkownik (630 p.)
edycja 10 stycznia 2018 przez Eryk Andrzejewski

Witam, szukam błędu i nie mogę znaleźć. Błąd występuję przy linii cin >>uczniowie>>endl;

 

#include <iostream>

using namespace std;
int uczniowie, cukierki;
int main()
{
    cout << "Ile uczniow liczy Twoja klasa? ";
    cin >>uczniowie>>endl;
    cout << "Ile cukierkow kupila mama Jasia? ";
    cin>>uczniowe<<endl;

    cukierki/(uczniowie-1);
    cout<<"dla kazdego ucznia przypadnie: "<<cukierki;
    cukierki-(cukierki/(uczniowie-1))*uczniowie;
    cout<<"dla Jasia zostanie: "<<cukierki;
    return 0;
}

 

komentarz 10 stycznia 2018 przez Eryk Andrzejewski Mędrzec (165,260 p.)
Kod źródłowy proszę umieszczać w bloczku code.

3 odpowiedzi

+2 głosów
odpowiedź 10 stycznia 2018 przez PsyLisek Użytkownik (570 p.)

Najpierw usuń endl z cinów, bo jest tam niepotrzebny i będzie generował kolejne błędy.

Natomiast twój aktualny błąd to literówka. Zjadłeś literkę i w słowie uczniowie.

komentarz 10 stycznia 2018 przez ildan91 Użytkownik (630 p.)
dzięki usunięcie endl; pomogło zapamiętam tą zasadę. Pozdrawiam
+1 głos
odpowiedź 10 stycznia 2018 przez criss Mędrzec (172,640 p.)

std::cin jest typu std::istream. istream::operator>> zwraca istream& (konkretnie referencje do siebie). Czyli 

cin>>uczniowe<<endl;

jest równoznaczne z

cin >> uczniowie;
cin << endl;

istream w ogóle nie ma zdefiniowanego operatora <<.

Podobnie przy `cin>>endl;`. istream nie ma zdefiniowanego operatora >> przyjmującego typ endl (prawdopodobnie wskaźnik na funkcje/obiekt funkcyjny). Skąd w ogóle pomysł na coś takiego?

komentarz 10 stycznia 2018 przez ildan91 Użytkownik (630 p.)
Dopiero się zaczynam swoją przygodę z C++ także robię eksperymenty :)
0 głosów
odpowiedź 10 stycznia 2018 przez zkkf56 Dyskutant (8,710 p.)

1. Kod umieszczaj we właściwym miejscu (2.E w regulaminie)

2. Przy drugim cin:

cin>>uczniowe<<endl;

Jest uczniowe i <<endl? W ogóle po co to <<endl ? W przykładzie powyżej jest >>endl; ? Więc jak w końcu?

Podobne pytania

0 głosów
0 odpowiedzi 476 wizyt
pytanie zadane 15 grudnia 2018 w C i C++ przez Używtkownik Nowicjusz (120 p.)
0 głosów
1 odpowiedź 212 wizyt
pytanie zadane 11 maja 2021 w C i C++ przez haiii4324 Nowicjusz (120 p.)
0 głosów
2 odpowiedzi 215 wizyt

89,693 zapytań

138,297 odpowiedzi

309,243 komentarzy

59,623 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Sklep oferujący ćwiczenia JavaScript, PHP, rozmowy rekrutacyjne dla programistów i inne materiały

Oto dwie polecane książki warte uwagi. Pełną listę znajdziesz tutaj.

...