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

lekcja 26 - blad kompilacji

Ostatnio zmodyfikowano 2013-08-26 14:54
Autor Wiadomość
PatraS
Temat założony przez niniejszego użytkownika
lekcja 26 - blad kompilacji
» 2013-08-26 12:45:17
Witam, mam problem wyskakuje mi blad kompilatora :error: cannot convert 'std::string {aka std::basic_string<char>}' to 'std::string* {aka std::basic_string<char>*}' for argument '1' to 'void wypiszOsobe(std::string*, std::string*, int*)'|

Nie wiem co mam zrobic...


C/C++
#include <iostream>
#include <string>
void wczytajOsobe( std::string imie, std::string nazwisko, int wiek )
{
    std::cout << "Podaj imie: " << std::endl;
    std::cin >> imie;
    std::cin.clear();
    std::cin.sync();
    std::cout << "Podaj nazwisko: " << std::endl;
    std::cin >> nazwisko;
    std::cin.clear();
    std::cin.sync();
    std::cout << "Podaj wiek: " << std::endl;
    std::cin >> wiek;
    std::cin.clear();
    std::cin.sync();
}

void wypiszOsobe( std::string * imie, std::string * nazwisko, int * wiek )
{
   
    std::cout << "Twoje imie: " << imie << std::endl;
    std::cout << "Twoje nazwisk: " << nazwisko << std::endl;
    std::cout << "Twój wiek: " << wiek << std::endl;
   
   
}

int main()
{
    std::string imie[ 2 ];
    std::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 ] );
   
    return 0;
}
P-90904
killjoy
» 2013-08-26 13:02:08
Funkcja chce od ciebie wskaźnika na string a ty podajesz mu normalnego stringa, bo operator
[]
 jest w tym przypadku od razu dereferencją. Podaj mu argument w ten sposób
imie + i
 lub
& imie[ i ]
 . Możesz też zmienić funkcje aby przyjmowała referencje.
P-90905
PatraS
Temat założony przez niniejszego użytkownika
» 2013-08-26 14:54:21
ahh okey już rozumiem, wielkie dzieki.
P-90932
« 1 »
  Strona 1 z 1