Wie ktoś dlaczego nie ten kod nie kompiluje się w IDE clion a w code blocksie bez problemu działa? W clionie wyrzuca taki błąd przy wyświetlaniu danych z struktury zadeklarowanych na stringu: "error C2679: dwuargumentowy "<<": nie znaleziono ľadnego operatora, kt˘ry przyjmuje prawostronny operand typu "std::string" (lub nie istnieje akceptowalna konwersja)". W komentarzu napisałem gdzie wyskakuje błąd.
#include <iostream>
#include<vector>
using namespace std;
struct sDataBasement{
string model;
string kolor;
int rocznik;
double przebieg;
};
void add_car(vector<sDataBasement> &car, string model, string kolor, int rocznik, double przebieg){
sDataBasement car1;
car1.model = model;
car1.kolor = kolor;
car1.rocznik = rocznik;
car1.przebieg = przebieg;
car.push_back(car1);
}
void wyswietl(vector<sDataBasement> &car){
for(int i=0; i<car.size(); i++){
cout<<"model: "<<car[i].model<<endl; //blad
cout<<"kolor: "<<car[i].kolor<<endl; //blad
cout<<"rocznik: "<<car[i].rocznik<<endl;
cout<<"przebieg: "<<car[i].przebieg<<endl;
cout<<endl;
}
}
int wyszukaj(vector<sDataBasement> &car,string search_car){
for(int i=0; i<car.size(); i++){
if(car[i].model==search_car){
return i+1;
}
}
}
void delete_frome_databasement(vector<sDataBasement> &car, string delete_model){
for(int i=0; i<car.size(); i++){
if(car[i].model==delete_model){
car.erase(car.begin()+i);
}
}
}
int main()
{
vector<sDataBasement>cars;
add_car(cars, "Ford", "Czarny", 1999, 245235.5);
add_car(cars, "Fiat", "Bialy", 2000, 10000.5);
cout<<"Cala baza: "<<endl;
wyswietl(cars);
cout<<endl;
cout<<"funkcja szukaj, pozycja na ktorej jest samochod: "<<endl;
cout<<wyszukaj(cars, "Ford");
cout<<endl;
delete_frome_databasement(cars, "Ford");
cout<<endl<<"Baza po usunieciu forda: "<<endl;
wyswietl(cars);
return 0;
}