Morfeus@kostas Δημοσ. 3 Φεβρουαρίου 2004 Δημοσ. 3 Φεβρουαρίου 2004 Λοιπόν, Εχω μια κλάση myclass,έχω κάνει #define NULL 0 Αν μεσα σε καθολική συνάρτηση δημιουργήσω στιγμιότυπο της κλάσης α,χωρίς να του αναθέσω τιμή Απλά γράφω αρχικά: myclass a=NULL; 'Έπειτα ανάλογα τη ροή του προγράμματος θα πάρει τιμή ή όχι. Παρακάτω πρίν το τέλος της συνάρτησης ελέγχω με if(a==NULL) αν έχει πάρει τιμές ή όχι. Φυσικά μου βγάζει λάθος : "binary '==' : 'class tree_node' does not define this operator or a conversion to a type acceptable to the predefined operator" Τί μπορώ να κάνω με το NULL ή πως μπορώ αποτελεσματικά να ελέγξω αν ένα στιγμιότυπο αν είναι κενό?????? Ευχαριστώ προκαταβολικά!
Maniakos Δημοσ. 4 Φεβρουαρίου 2004 Δημοσ. 4 Φεβρουαρίου 2004 Φυσικά και σου βγάζει αυτό το λάθος γιατί πολύ απλά στην C εκτός του ότι το NULL είναι already defined σε 0 από την στιγμή που λές myclass a ουσιαστικά ορίζεις ένα Instance της myclass το οποίο δεν μπορεί να ειναι NULL αφού υπάρχει στην μνήμη. Το myclass * a όμως θα μπορούσε να είναι NULL γιατί δείχνει σε ένα Instance του myclass άρα θα μπορούσε να μην δείχνει πουθενά , κοινώς Περού. Ελπίζω τουλάχιστον να σε βοήθησα να καταλάβεις την διαφορά. Δεν γνωρίζω τι πάς να κάνεις για να σε βοηθήσω παραπέρα, δεν εξηγείς πολύ καλά
GP++ Δημοσ. 26 Φεβρουαρίου 2004 Δημοσ. 26 Φεβρουαρίου 2004 Gia na doulepseis me NULL kai na kaneis elegxo an ena istance einai NULL prepei na einai orismeno san pointer... Dhladh myClass *a=NULL Fysika meta prepei na kaneis kai new gia na ginei allocated sth memory a=new myclass; twra o elegxos if(a==NULL) tha sou deiksei an petyxe to new kai dhmiourghtyhike to instance a h an den yphxre free memory kai apetyxe...
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.