foo.func() == &foo->func() ?
-
struct Foo { int func(){} }; int main() { Foo* foo; //sind die beiden folgenden Ausdruecke aequivalent? foo.func(); &foo->func();
-
Raptor schrieb:
struct Foo { int func(){} }; int main() { Foo* foo; //sind die beiden folgenden Ausdruecke aequivalent? foo.func(); &foo->func();
Zunächst sind sie nicht gültig, da foo ein Zeiger ist.
-
eohl eher so:
int main() { Foo* foo; //sind die beiden folgenden Ausdruecke aequivalent? foo->func(); *(foo).func();
-
otze schrieb:
eohl eher so:
int main() { Foo* foo; //sind die beiden folgenden Ausdruecke aequivalent? foo->func(); *(foo).func();
bin jetzt nicht sicher aber gibt das nicht ne access violation weil der zeiger noch auf keine speicher zeigt?? Foo* foo = new Foo müsste es doch heißen oder?
-
Und wie wäre es mit sowas
Foo foo; foo.func(); &(foo)->func();
-
otze schrieb:
eohl eher so:
int main() { Foo* foo; //sind die beiden folgenden Ausdruecke aequivalent? foo->func(); *(foo).func();
Setze die Klammern um *foo , sonst entsteht ein Syntaxfehler.
/hmm schrieb:
Und wie wäre es mit sowas
Foo foo; foo.func(); &(foo)->func();
Gleiches Problem.
-
audacia schrieb:
Setze die Klammern um *foo , sonst entsteht ein Syntaxfehler.
da war nur die eine Hand schneller als die andere, passiert mir manchmal, sind dann immer diese tollen Buchstabendreher