[ Milos Sreckovic @ 26.08.2006. 21:56 ] @
Znaci razbijam se vec pola dana i ne mogu da provalim sta gresim Code: #include <fstream.h> #include <iostream.h> class string { public: char *a; int size; string() { //int i; size=0; a=(char*)malloc(sizeof(char)*0); } string(const string& x) { int i; size=x.size; a=(char*)malloc(sizeof(char)*size); for(i=0;i<size;i++) a[i]=x.a[i]; } ~string() { free(a); } string operator = (string& x) { int i; size=x.size; a=(char*)realloc(a,sizeof(char)*size); for(i=0; i<size; i++) a[i]=x.a[i]; return (*this); } string operator+=(const char& y) { string s; int i; s.a=(char*)realloc(s.a,sizeof(char)*(size+1)); for(i=0;i<size;i++) s.a[i]=a[i]; s.a[size]=y; s.size=size+1; return s; } string operator+(const char& x) { string s(*this); s+=x; return s; } int main() { char ak='a'; string sql,sql2; // sql=sql2+='a'; sql=sql2+ak; //sql2='b'; //sql='a'; return 0; } i izbacuje mi gresku u main Code: string.cpp: In function `int main()': string.cpp:70: error: no match for 'operator=' in 'sql = string::operator+(const char&)((&ak))' string.cpp:32: error: candidates are: string string::operator=(string&) Davno sam pisao operatore a ovo mi sad hitno treba a razbijam se ne mogu da provalim gresku jer je verovatno previse ocigledna |