Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[C++] error: base operand of '->' has non-pointer type 'car'

Ostatnio zmodyfikowano 2013-11-26 21:15
Autor Wiadomość
krzysiekp25
Temat założony przez niniejszego użytkownika
[C++] error: base operand of '->' has non-pointer type 'car'
» 2013-11-26 21:11:33
Witam. W książce Stephena Prata "Język c++ Szkoła programowania", mam za zadanie stworzyć tablicę struktur car i zaalokować ją dynamicznie operatorem new. Problem pojawia się w momencie, kiedy chcę pobrać dane za pomocą cin. Wyświetla mi następujący błąd:

In function 'int main()':
|23|error: base operand of '->' has non-pointer type 'car'|
|26|error: base operand of '->' has non-pointer type 'car'|
|32|error: base operand of '->' has non-pointer type 'car'|
|32|error: base operand of '->' has non-pointer type 'car'|


Dołączam kod źródłowy:

C/C++
#include <iostream>
#include <string>

using namespace std;

struct car
{
    string marka;
    int rok_budowy;
};

int main()
{
    cout << "Ile samochodow chcesz skatalogowac? ";
    int auta;
    cin >> auta;
   
    car * katalog = new car[ auta ];
   
    while( auta > 0 )
    {
        cout << "Proszę podać markę: ";
        getline( cin, katalog[ auta - 1 ]->marka );
        cin.get();
        cout << "Rok produkcji: ";
        cin >> katalog[ auta - 1 ]->rok_budowy;
        auta--;
    };
    auta = 2;
    while( auta > 0 )
    {
        cout << katalog[ auta - 1 ]->rok_budowy << " " << katalog[ auta - 1 ]->marka << endl;
        auta--;
    }
    delete[] katalog;
    cin.get();
    cin.get();
   
    return 0;
};

Będę wdzięczny za pomoc :).
P-97618
Monika90
» 2013-11-26 21:15:09
Używaj kropki . zamiast strzałki -> i powinno być OK.
P-97619
« 1 »
  Strona 1 z 1