Kann FU* nicht in assigment nach FU* convertieren



  • Okay zweiter Versuch:

    class Bar
    {
            class FU
            {
                public:
                    explicit FU(char const * VersionString,const char * ModuleGroup)
                    {
                        if(!VersionString || !ModuleGroup)
                            return;
    
                        MAJOR[major]=new FUFU(minor,patch,this); /// Er meckert
                    }
                  private:
                    RadixVector<FUFU *> MAJOR;
    
            };
    };
    
    template <typename T>
    class RadixVector
    {
    
        public:
    
            T &operator [](size_t s)
            {
                return  data[s];
            }
    
        private:
            T               *data;
    
    };
    

    Und die Fehlermeldung ist:
    " »Bar::FU*« kann nicht nach »FU*« in assignment umgewandelt werden|
    ||=== Build finished: 1 errors, 0 warnings ===|
    "



  • Okay,
    hab ne Lösung gefunden. Habe den Namensraum entkuddelt....
    dann gehts..



  • Entkuddelt?



  • Okay, das wort gibts wohl so nicht. Es meint aus einem Gewirr was eindeutiges machen. Ich habe früher Wollfäden entkuddelt. 🙂



  • Ich finds schade, dass du immer Code postest, anhand dessen man dein Problem nicht nachvollziehen kann.

    Kopier den (2.) Code mal in eine Datei und kompiliere.
    Du kriegst nicht ansatzweise die Fehlermeldung, die du vorgibst.

    Du gibst zwar später dann an, dass du dein Problem gelöst hast, aber eine Beschreibung, was du dazu gemacht hast, ist vergleichbar mit "Ich habs neu geschrieben"

    Es ist nicht das erste mal, dass ich das von dir hier sehe.

    Sorry, aber so kann (und will) man dir hier (zukünftig) nicht (mehr) helfen... 👎



  • Entschuldigung, das ist keine Absicht gewesen.

    Ich versuche eben immer so weit wie möglich zu kürzen, um es nicht unnötig kompliziert zu machen... Ich neige wohl dazu, das ganze zu weit zu vereinfachen.

    ich werde meine Beispiele in Zukunft zusammengekürtzt nochmal durch den Comiler jagen bevor ich sie schicke.

    Die Lösung in diesem Fall war, dass ich die Klasse FU aus der Klasse Bar rausgenommen habe.



  • AlexanderKiebler schrieb:

    Die Lösung in diesem Fall war, dass ich die Klasse FU aus der Klasse Bar rausgenommen habe.

    Auch wenn ich eigentlich selten innere Klassen verwende, kann das (glaub ich) eigentlich nicht der Grund sein, da du sie nur in deiner äußeren Klasse verwendet hast.

    EDIT: Aber sei jetzt auch mal dahingestellt. Lern bitte etwas fürs nächste mal draus 😉



  • Ja du hast ja Recht,

    es war gestern Abend noch spät und ich habe im Halbschlaf bemerkt,
    dass ich einen Konstuktor aufrufe, ohne ihn definiert zu haben.
    Also Vorwärtsdekleration, dann Konstuktoraufruf, und dann erst Prototyp und implementierung.
    Das nur um deine Vermutung zu bestätigen...

    Ich habe mir gleich danach schlafen gelegt, und das ist dann ein bischen untergegangen =)....



  • AlexanderKiebler schrieb:

    Ich werde meine Beispiele in Zukunft zusammengekürtzt nochmal durch den Comiler jagen bevor ich sie schicke.

    Ja, bitte tu das!



  • Immer auf die kleinen Dicken =)...
    Ich bin generell unschuldig, wie deine Licht-tools 🙂


Anmelden zum Antworten