Tomaten auf den Augen? "Die nicht initialisierte lokale Variable "o" wurde verwendet."
-
Projekt bereinigen und neu bauen.
-
Michael E. schrieb:
Projekt bereinigen und neu bauen.
Hab's befürchtet. Na denne...
Trotzdem danke! Hatte schon an "Betriebsblindheit" / "Wald vor lauter Bäumen" und andere Konzepte gedacht.
Gruß
Matthias
-
Hey, das ist doch nur geraten ^^ Das Standardvorgehen halt bei seltsamen Fehlern, bevor man stundenlang umsonst einem nicht vorhandenen Fehler nachjagt. Obs was hilft, kann ich dir nicht sagen.
Was ist denn am Rebuilden so schlimm, dass du es "befürchet" hast?
-
Michael E. schrieb:
Hey, das ist doch nur geraten ^^ Das Standardvorgehen halt bei seltsamen Fehlern, bevor man stundenlang umsonst einem nicht vorhandenen Fehler nachjagt. Obs was hilft, kann ich dir nicht sagen.
Was ist denn am Rebuilden so schlimm, dass du es "befürchet" hast?
Na ja, einen normalen Rebuild (also in VS2008 "Projektmappe neu erstellen") habe ich schon ein paar hundertmal damit gemacht...
Ich fürchte, ich muss die entsprechenden Klassen einfach mal von vorne programmieren, weil ich irgendwo irgendwas versteckt habe, was vielleicht semantisch, syntaktisch, stilistisch und funktional absolut iO ist (na ja), aber den Compiler irritiert. IntelliSense läuft z.B. dank Templates auch nicht mehr richtig.
-
oder du gibst uns einen aufs wesentliche reduzierten, compilierbaren Codeabschnitt mit dem die Warnung bei dir immernoch auftritt...
-
Um auch mal ins blaue raus zu raten:
Kann es sein, dass das "o" da vielleicht sich auf ein anderes im erreichbaren Scope beziehen kann? (globale, Member usw.)
-
Leute, Leute, Leute,
ich hab's. Es lag daran, dass nur für
class Objektein Kopierkonstruktor
Objekt(const Objekt& ob)definiert war. Nicht aber für Bauteil, Baugruppe oder Projekt. Oder für eine der anderen zahlreichen Klassen. Warum VS2008 ausgerechnet bei den beiden gemeckert hat, und noch dazu mit dieser unsinnigen Warnung ist mir ein Rätsel.
Danke an Alle!
Gruß
Matthias
-
So unsinnig ist die Meldung gar nicht. Da für Bauteil kein Kopier-Konstruktor vorhanden war, ist o uninitialisiert.
-
Hätte dann nicht vorher eine Fehlermeldung kommen müssen?
-
Ich hab' mal alle Kopierkonstruktoren entfernt - weil der in Objekt nämlich just der triviale ist, und damit eigentlich "über", dachte ich.
Objekt(const Objekt &ob) { *this = ob };Dann gab's eine Fehlermeldung von wegen kein Kopierkonstruktor definiert.