Witam,
Robię sobie różne kombinacje z kodem i nie mogę zrozumieć czego wywala błąd przy uruchomieniu, poniżej skompilowanego kodu:
#include <iostream>
using namespace std ;
#include <string>
class wizytowka
{
string *wsk_imie ;
public :
void personalia()
{
cout << *wsk_imie;
}
wizytowka(string im)
{
wsk_imie = &im;
// *wsk_imie = im;
}
};
int main()
{
wizytowka fizyk("Albert") ;
fizyk.personalia();
return 0;
}
Przy dodaniu operatora new wszystko ładnie działa.
A zrobiłem sobie program bez użycia klasy, wydaje mi się że analogiczny do tego powyższego :
#include <iostream>
using namespace std;
string *wsk;
void funkcja(string a)
{
wsk = &a;
//cout << *wsk << endl;
}
void wypisz()
{
cout << *wsk << endl;
}
int main()
{
string a = "Albert Einstein";
funkcja(a);
wypisz();
return 0;
}
Wtedy błędu nie wywala. Oświeci mnie ktoś, bo jestem bardzo ciekawy, pewnie źle się coś odwołuję, ale nie mogę dojść gdzie.
Pozdrawiam:)