Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » Was sind Qualifizierer??

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
01.06.2004, 18:40 Uhr
Lumina



Hab einen Fehler und kann mit ihm wenig anfangen:


Code:
Kompilierung läuft...
cseatreebinint.cpp
c:\programme\devstudio\myprojects\st2studienarbeit3\aufgabe6\cseatreebinint.cpp(41) : error C2664: 'void __thiscall CSearchTreeBinInt::Print(struct CSearchTreeBinInt::Node *& ) const' : Konvertierung des Parameters 1 von 'struct CSearchTreeBinInt::N
ode *const ' in 'struct CSearchTreeBinInt::Node *& ' nicht moeglich
        Durch die Konvertierung gehen Qualifizierer verloren
Fehler beim Ausführen von cl.exe.

cseatreebinint.obj - 1 Fehler, 0 Warnung(en)


--
*******************************************
Willst du glücklich sein im Leben, trage bei zu and'rer Glück,
denn die Freude, die wir geben, kehrt ins eig'ne Herz zurück!
*******************************************

Dieser Post wurde am 01.06.2004 um 18:41 Uhr von Lumina editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
01.06.2004, 18:54 Uhr
(un)wissender
Niveauwart


const, mutable, volatile sind modifier, vermutlich beachtest du const nicht.
--
Wer früher stirbt ist länger tot.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
01.06.2004, 19:19 Uhr
Lumina



stimmt wohl. hab const weg, jetzt gehts. Obwohl ich nicht weiß, warum das const gestört hätte bei einer Methode, die eine andere aufruft. Aber egal, jetzt gehts und ich bin happy.
--
*******************************************
Willst du glücklich sein im Leben, trage bei zu and'rer Glück,
denn die Freude, die wir geben, kehrt ins eig'ne Herz zurück!
*******************************************
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
01.06.2004, 19:54 Uhr
(un)wissender
Niveauwart


const einfach wegzulassen ist zwar einfach, aber nicht immer richtig.
Ich kenne nun den Code nicht, aber generell solltest du alles, was du nicht veränderst, als const deklarieren.
Wenn dann Fehler mit const auftreten, stimmt was an deinem Code nicht.
--
Wer früher stirbt ist länger tot.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
01.06.2004, 23:16 Uhr
ao

(Operator)


Was du da gemacht hast, könnte ins Auge gehen. Ich vermute mal, dein Code sieht etwa so aus:

C++:
const struct CSearchTreeBinInt::Node * GetNode (); // Deklaration, so oder aehnlich
Print (GetNode ()); // hier kommt der Fehler


und du hast den Fehler wegbekommen, indem du das const in der GetNode()-Deklaration entfernt hast.
Damit ist das, was GetNode liefert, nicht mehr zwangsweise konstant, und jemand könnte legalerweise das, was er von GetNode bekommt, verändern oder gar löschen, was den SearchTree bei nächster Gelegenheit zum Absturz bringen könnte.
Besser wäre es wahrscheinlich, die Print-Methode so zu deklarieren:

C++:
void Print (const Node * pNode) const;

Damit wäre das Problem auch gelöst, aber auf der sicheren Seite, und wenn Print () wirklich nur druckt, schadet es auch nicht, wenn das zu druckende Objekt const reingereicht wird.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
03.06.2004, 19:48 Uhr
Lumina



genau genommen hab ich 2 Klassen, eine interne und eine normale. in jeder gibt es je 2 print- Funktionen. Ist jetzt schwierig zu erklären. Windalf hat den kompletten Source, weil darin ja noch ein anderer Fehler ist, der anscheinend vom Rechner abhängt... dazu mehr im undefinierter Wert...-Thread von mir.
--
*******************************************
Willst du glücklich sein im Leben, trage bei zu and'rer Glück,
denn die Freude, die wir geben, kehrt ins eig'ne Herz zurück!
*******************************************
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (ANSI-Standard) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: