S
Suresh V
Hi,
I want to copy the contents of one pointer into another pointer which
is of same type by overloading '=' and '()' operator. Please guide me
how to do it. I tried doing it but only got syntax error and some
times crash.
class loc
{
public:
loc::loc() {
}
loc::loc(int longi, int lat) {
longitude = longi;
latitude =lat;
}
loc* operator()(loc op2);
void show();
private:
int latitude;
int longitude;
};
void loc::show()
{
cout << "long=" << longitude << " lat=" << latitude << endl;
}
loc* loc:perator()(loc& op2)
{
cout << "pointer" << std::endl;
void* temp = malloc(sizeof(op2));
loc* loci = (loc *)temp;
loci->longitude = op2.longitude;
loci->latitude = op2.latitude;
return loci;
}
int main()
{
loc *new1 = new loc(4, 6);
loc *new2(newLoc);
new2->show();
delete new1;
delete new2;
return 0;
}
But i output
long=4 lat=6
"*** glibc detected *** double free or corruption (fasttop):
0x0000000000502010 ***"
+suresh
I want to copy the contents of one pointer into another pointer which
is of same type by overloading '=' and '()' operator. Please guide me
how to do it. I tried doing it but only got syntax error and some
times crash.
class loc
{
public:
loc::loc() {
}
loc::loc(int longi, int lat) {
longitude = longi;
latitude =lat;
}
loc* operator()(loc op2);
void show();
private:
int latitude;
int longitude;
};
void loc::show()
{
cout << "long=" << longitude << " lat=" << latitude << endl;
}
loc* loc:perator()(loc& op2)
{
cout << "pointer" << std::endl;
void* temp = malloc(sizeof(op2));
loc* loci = (loc *)temp;
loci->longitude = op2.longitude;
loci->latitude = op2.latitude;
return loci;
}
int main()
{
loc *new1 = new loc(4, 6);
loc *new2(newLoc);
new2->show();
delete new1;
delete new2;
return 0;
}
But i output
long=4 lat=6
"*** glibc detected *** double free or corruption (fasttop):
0x0000000000502010 ***"
+suresh