Witajcie, własciwie to rozpoczynam nauke cpp obiektowo i jestem załamany ze nie potraafie sobie poradzic z bledem
#include <iostream>
#include <Windows.h>
#include <string>
using namespace std;
/*Napisz prosty program, który wczyta imię, nazwisko i wiek dwóch osób.W programie do wczytywania tekstu użyj std::cin.
Zadbaj o bezpieczeństwo wprowadzonych danych, tj. w przypadku błędnego wieku (np. wprowadzonego tekstu) program ma ponawiać żądanie aż do skutku.
Zmodyfikuj program z pierwszego zadania tak, aby używał do wczytywania tekstu funkcji std::getline.*/
void wczytajOsobe(string &TablicaImie[], string &TablicaNazwisko[], int &TablicaWiek[])
{
TablicaImie[2];
TablicaNazwisko[2];
TablicaWiek[2];
for(int i = 0; i < 2; i++){
cout << "Podaj swoje imie, nazwisko, wiek" << endl;
cin >> TablicaImie[i];cout << ", ";cin.sync();
cin >> TablicaNazwisko[i];cout << ", ";cin.sync();
cin >> TablicaWiek[i];
while(cin.fail()){cin.clear();cin.sync();
cout << "/nPonow swoj wiek: ";
cin >> TablicaWiek[i];
if(cin.good())break;}
}
}
void wypiszOsobe(string TablicaImie[], string TablicaNazwisko[], int TablicaWiek[])
{
int i = 0;
TablicaImie[2];
TablicaNazwisko[2];
TablicaWiek[2];
cout << "Twoje imie to: " << TablicaImie[i] << endl;
cout << "Twoje nazwisko to: " << TablicaNazwisko[i] << endl;
cout << "Twoje imie to: " << TablicaWiek[i] << endl;
}
int main()
{
string imie[2];
string nazwisko[2];
int wiek[2];
for(int i = 0; i < 2; i++)
wczytajOsobe(imie[i], nazwisko[i], wiek[i]);
for(int i = 0; i < 2; i++)
wypiszOsobe(imie[i], nazwisko[i], wiek[i]);
cin.get();
return 0;
}
przy kompilacji bład:
//while trying to match the argument list '(std::istream, int *)'
1>d:\documents and settings\ja\moje dokumenty\visual studio
2010\projects\remind\referencje\references.cpp(53): error C2664:
'wczytajOsobe' : cannot convert parameter 1 from 'std::string' to
'std::string *[]'
1> No user-defined-conversion operator available that can perform this conversion, or the operator cannot be called
1>d:\documents and settings\ja\moje dokumenty\visual studio
2010\projects\remind\referencje\references.cpp(56): error C2664:
'wypiszOsobe' : cannot convert parameter 1 from 'std::string' to
'std::string []'
1> No user-defined-conversion operator available that can
perform this conversion, or the operator cannot be called//
w czym rzecz?
dzieki za odp.