Mój problem polega na tym iż nie wiem co jest spowodowane że wyskakuje błąd w programie z funkcją gets() w 97 wierszu "error: invalid conversion from 'char' to 'char*' [-fpermissive]|". Podczas zajęć na uczelni tego typu program działał lecz kiedy napisałem kod w domu to pokazuje błąd. Proszę o pomoc i ewentualne objaśnienie co robię źle.
#include <iostream>
#include <string.h>
#include <conio.h>
#include <windows.h>
#include <stdio.h>
#define N 30
using namespace std;
class Auto
{
protected:
char marka[N];
string model;
int rocznik;
int przebieg;
float silnik;
public:
void dodaj(char *mar, string mod, int rok, int prz, float sil);
Auto();
};
Auto::Auto()
{
strcpy(marka," ");
model = "";
rocznik = 0;
przebieg = 0;
silnik = 0;
}
void Auto::dodaj(char *mar, string mod, int rok, int prz, float sil)
{
strcpy(marka, mar);
model=mod;
rocznik=rok;
przebieg=prz;
silnik=sil;
}
class BazaAuto:public Auto
{
protected:
Auto *tab;
int rozmiar;
int licznosc;
private:
int i;
public:
BazaAuto(int roz);
void dodajAuto(char *mar, string mod, int rok, int prz, float sil);
};
BazaAuto::BazaAuto(int roz)
{
this -> rozmiar=roz;
tab = new Auto[rozmiar];
for (i=0; rozmiar>licznosc; i++)
tab[i];
licznosc=0;
}
void BazaAuto::dodajAuto(char *mar, string mod, int rok, int prz, float sil)
{
if(licznosc<rozmiar)
tab[licznosc].dodaj(mar, mod, rok, prz, sil);
licznosc++;
}
int main()
{
char m(N);
int rozmiar;
int licznosc;
string mod;
int rok, prz, sil;
cout<<"Ile elementow: ";
cin>>rozmiar;
cin.ignore();
BazaAuto Baza(rozmiar);
cout<<"marka: "; gets(m);
cout<<"Model: "; cin>>mod;
cout<<"Rocznik: "; cin>>rok;
cout<<"Przebieg: "; cin>>prz;
cout<<"Silnik: "; cin>>sil;
cin.ignore();
Baza.dodajAuto(m,mod,rok,prz,sil);
return 0;
}