Matrix und selbstdefinierte Klasse



  • Ich hab folgendes Problem. Ich möchte Dynmisch speicher reservieren

    fooclass **foopoint = new fooclass*[size_];
    for (int i(0); i<size_;++i){
    *foopoint[i]=new fooclass*[size_];
    

    nun habe ich die klasse foopoint selbst geschrieben und bekomme folgende Fehlermeldung:

    ...error C2679: Binärer Operator '=': Es konnte kein Operator gefunden werden, der einen rechtsseitigen Operanden vom Typ 'fooclass **' akzeptiert (oder keine geeignete Konvertierung möglich)
    ...: kann 'fooclass &fooclass::operator =(const fooclass &)' sein
    bei Anpassung der Argumentliste '(fooclass, fooclass **)'

    Ich meine das hat ja irgendwas mit dem doppelpointer zu tun. aber ich komme nicht drauf. den zuweisungsoperator habe ich schon überladen. aber gilt das dann nciht für pointer? wie mach ich das mit denen

    MFG
    chewbo



  • Dein Code ist so vermurkst dass man garnicht mehr ahnen kann, was du eigentlich erreichen wolltest!



  • du hast nen array auf pointer von fooclass deklariert, aber versucht dann einem stack objekt einen pointer auf pointer zuzuweisen... äh, verständlich? *G

    *foopoint[i]=fooclass();
    

    das ist, was du mit deinem array machen kannst.

    aso... der code, für das was du da wahrscheinlich machen willst sähe so aus:

    fooclass ***foopoint = new fooclass**[size_];
    for (int i(0); i<size_;++i)
      *foopoint[i]= new fooclass[size_];
    

    und das ist so wild, dass man es lieber anders löst 😃



  • Ahh. hatte in Erinnerung das ich auch durch [i] iterieren kann. habs jetzt auf

    fooclass **foopoint = new fooclass*[size_];
    for (int i(0); i<size_;++i){
    *(foopoint+i)=new fooclass[size_];}
    

    geändert und nun läufts.



  • foo** bar = new foo*[size];
    for(int i = 0; i < size; ++i)
    {
        bar[i] = new foo[size];
    }
    //...
    for(int i = 0; i < size; ++i)
    {
        delete[] bar[i];
    }
    delete[] bar;
    


  • wer hat dir eigentlich 'i(0)' beigebracht? gewöhn dir das mal ab 😉



  • thordk schrieb:

    wer hat dir eigentlich 'i(0)' beigebracht? gewöhn dir das mal ab 😉

    Vermutlich jemand, der die "Initialisierung mit ="-Regel nicht kennt ... 😉

    Gruß,

    Simon2.


Anmelden zum Antworten