pyt. odnośnie konstruktorów kopiujacych i operatorów klas

0

mam taka przykładową klasę i jeden zdefiniowany operator:
#include<iostream.h>
#include<conio.h>
class dane{
static int licznik;
int zmienna;
char * napis;
public:
dane(int x=0, char * y=NULL):zmienna(x),napis(strdup(y))
{licznik++;}
~dane(void){licznik--;delete napis;}

         friend dane operator+(dane &, dane &);
         };
         int dane::licznik;
         

inline dane operator+(dane &x, dane &y)
{return dane(x.zmienna+y.zmienna,x.napis);
}

na razie wszystko działa ok, ale jak dodam wewnątrz klasy taki oto konstruktor kopiujacy:
dane(dane &x):zmienna(x.zmienna),napis(strdup(x.napis)){}
to wtedy wszystko sie krzaczy- wyskakuja różne błędy odnośnie operatora klasy , wiem jak zdefiniować go zeby nie krzaczyło, ale nie wiem dlaczego wyskakują te błędy odnośnie wspomnianego operatora ;/. czy może mi ktoś to wytłumaczyć albo podać link gdzie jest to dokadnie opisane??

0

Na jakim kompilatorze pracujesz?
Mi na VC++ 6.0 nie wyskakują błędy.

0

Właśnie, przytocz jakie to błędy, nikt nie ma kompilatora w głowie...

1 użytkowników online, w tym zalogowanych: 0, gości: 1