Impizierte konvertierung
-
#include <iostream> using namespace std; class my_int{ public: int x; my_int(int _x){ x = _x; } operator int(){ return x; } }; int main () { my_int *my = new my_int(5); int x = my; cout << x << endl; return 0; }bekomme immer den fehler:
invalid conversion from ‘my_int*’ to ‘int’
mit
int x = *my;gehts.
aus faulheits gründen würd ich gern das sternchen weglassen, gibts da nen weg

-
int main () { my_int my(5); int x = my; cout << x << endl; return 0; }das geht und sollte bei einer eventuellen lösung auch weiterhin klappen

-
Dir sollte bewusst sein, dass
my_int *my = new my_int(5);und
my_int my(5);zwei voellig verschiedene Dinge sind. Du solltest dir ein C++ Buch kaufen und die Grundlagen lernen. Siehe dir dazu mal diese Buechervorschlaege an.
-
schon klar... eines geht auf den stack und das andere auf den heap, vergl. mit:
int a; int *a = malloc(sizeof(int));bitte, ich will jetzt auch kein buch lesen, sondern es einfach nur fertig machen...
-
Was bitte ist "Impizierte konvertierung"
triptop schrieb:
schon klar... eines geht auf den stack und das andere auf den heap, vergl. mit:
Es gibt aber noch einen viel wichtigeren Unterschied: die beiden "a" haben vollkommen verschiedene Typen, weshalb die Zuweisung überhaupt erst fehlschlägt!
bitte, ich will jetzt auch kein buch lesen, sondern es einfach nur fertig machen...
Aha... Und was willst du fertig bekommen? Und danach?
Man muss ja auch heutzutage nichts mehr wissen und können. Es reicht dass man ins Internet geht, in irgend einem Forum eine Frage postet. Wird sich ja schon ein Dummer finden, der einem die Lösung präsentiert. Mann, wie mir diese Einstellung auf den Senkel geht
-
könntet ihr mal zum punkt kommen und mir sagen, was ich in den körper der 'class my_int' sschreiben muss damit das klappt?
-
arghonaut schrieb:
Aha... Und was willst du fertig bekommen?
na mein baby

arghonaut schrieb:
Und danach?
müssen c++'ler entweder sternchen machen, oder eben nicht.

-
Es geht nicht ohne Dereferenzierung, da ein Zeiger komplett andere Semantiken hat als das Objekt.
-
danke, dann bleibt es so wie es ist und ich kann meine suche abschließen
