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

C++, błąd przy wyszukiwaniu w liście własnej klasy

Cloud VPS
0 głosów
4,131 wizyt
pytanie zadane 11 maja 2017 w C i C++ przez Isild Użytkownik (620 p.)

Witam, mam dosyć dziwny problem
Napisałem funkcję do wyszukiwania w liście typu mojej klasy, po polu z klasy.
Do obsługi wyszukiwania użyłem funkcji switch, na stringu normalnie działa, ale gdy chcę użyć doubla czy inta to wywala mi dwa błędy:
1 .wyrażenie musi mieć typ klasy
2. po lewej ".compare" musi być typ struct/union
Błąd pojawia się w if ((it->rocznik).compare(rocz) == 0)

	case 4:
	{
		int rocz;
		std::cout << "wyszukaj auta o roczniku:";
		std::cin >> rocz;

		for (auto it : lista)
		{
			if ((it->rocznik).compare(rocz) == 0)
			{
				std::cout << "znaleziono pod adresem: " << it << endl;
			}
		}
	}
		break;

 

1 odpowiedź

0 głosów
odpowiedź 11 maja 2017 przez tangarr Mędrzec (155,180 p.)
wybrane 11 maja 2017 przez Isild
 
Najlepsza
Podstawowe typy danych (prymitywy) w C++ nie posiadają metod. Musisz użyć operatora porównania (==).
komentarz 11 maja 2017 przez Isild Użytkownik (620 p.)
Dobrze wiedzieć

I tak samo będzie działało?

Dzięki :D

Podobne pytania

–1 głos
1 odpowiedź 318 wizyt
0 głosów
1 odpowiedź 428 wizyt
0 głosów
2 odpowiedzi 292 wizyt
pytanie zadane 12 września 2015 w C i C++ przez Blazejob Nowicjusz (120 p.)

93,488 zapytań

142,422 odpowiedzi

322,772 komentarzy

62,906 pasjonatów

Motyw:

Akcja Pajacyk

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

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Kursy INF.02 i INF.03
...