[Spiel] Findet die Fehler ...



  • otze schrieb:

    ich könnte die erklärung posten, weis aber net ob das zu früh ist 😉

    Lass ihn doch noch 2h-40min zappeln 😃

    otze schrieb:

    ich hab auchn recht kniffligen fehler, den ich dann die tage posten werd 😃

    🙂



  • ich hab den krams grad mal durch nen compiler gejagt (g++). und die fehlermeldung war NICHT was ich erwartet hab Oo der fehler ist eindeutig das, was ich vermutet habe, aber ich frag mich grad, warum ... naja, der fehler kommt, den ich hier stehen hab ^^



  • ich lös es mal auf, wer knobeln will sollte einfach nur nicht auf den link klicken 😉

    http://nopaste.ch/ff7c02f330e04e1.html



  • genau das ist das problem, aber was für ne fehlermeldung würdest du erwarten? 😃



  • thordk schrieb:

    genau das ist das problem, aber was für ne fehlermeldung würdest du erwarten? 😃

    http://nopaste.ch/2c394781f2c542a.html



  • Damit ist dieser Code auch wohl gelöst, der Rest war natürlich wieder Ablenkung 🙂

    Wer bestimmte Konventionen kennt, wie zB das op<< als zweiten Parameter immer ein const Ref haben sollte, dem wäre das direkt aufgefallen, das an dieser Stelle was faul sein muss ...

    Später poste ich noch ein nettes Beispiel 😉



  • Bis dahin mal was einfaches, sind ja nich nur cracks hier 😃 :

    template<class tBase>
    struct Asp
    {
       void MyFunc(typename tBase::tType t_)
          { cout << t_ << endl; }
    };
    
    struct Comp : public Asp<Comp>
    {
       typedef int tType;
    };
    
    int main()
    {
    Comp MyComp;
    MyComp.MyFunc(23);
    }
    

    c ya, cPanther



  • ich frag mich grad: ist der Fehler den ich seh ein echter ernstgemeinter fehler, oder einfach nur ein "ausm kopf falsch aufschreiber"?

    //edit ok, es war letzteres 😃



  • Ja, ja,... 😃



  • hübsch. kommt auch mal was, bei dem man nachdenken muss?



  • camper schrieb:

    hübsch. kommt auch mal was, bei dem man nachdenken muss?

    Ja kommt noch, aber denke mal etwas zu finden was dir nicht einfach erscheint wird schwer 😉



  • KasF schrieb:

    camper schrieb:

    hübsch. kommt auch mal was, bei dem man nachdenken muss?

    Ja kommt noch, aber denke mal etwas zu finden was dir nicht einfach erscheint wird schwer 😉

    3 Seiten rekursive templates sollten ausreichen um ein fehlendes ";" zu übersehen 😉



  • #include <stdio.h>
    typedef unsigned char u;u m[1024],g[1024],e[1024],b[1024];int n,v,d,z,S=129;a( u 
    *x,u *y,int o){d=0;for(v=S;v--;){d+=x[v]+y[v]*o;x[v]=d;d=d>>8;}}s(u *x){for( 
    v=0;(v<S-1)&&(x[v]==m[v]);)v++;if(x[v]>=m[v])a(x,m,-1);}r(u *x){d=0;for(v=0;v< 
    S;){d|=x[v];x[v++]=d/2;d=(d&1)<<8;}}M(u *x,u *y){u X[1024],Y[1024];bcopy(x,X,S 
    );bcopy(y,Y,S);bzero(x,S);for(z=S*8;z--;){if(X[S-1]&1){a(x,Y,1);s(x);}r(X);a(Y 
    ,Y,1);s(Y);}}h(char *x,u *y){bzero(y,S);for(n=0;x[n]>0;n++){for(z=4;z--;)a(y,y 
    ,1);x[n]|=32;y[S-1]|=x[n]-48-(x[n]>96)*39;}p(u *x){for(n=0;!x[n];)n++;for(;n< 
    S;n++)printf("%c%c",48+x[n]/16+(x[n]>159)*7,48+(x[n]&15)+7*((x[n]&15)>9)); 
    printf("\n");}main(int c,char **v){h(v[1],g);h(v[2],e);h(v[3],m);bzero(b,S);b[ 
    S-1]=1;for(n=S*8;n--;){if(e[S-1]&1)M(b,g);M(g,g);r(e);}p(b);}
    


  • Bittesehr 😉

    namespace kasf {
    
            class Super {
    
              private:
                      int tt;
              public:
                      Super() : tt(4) { }
                      Super(int z) : tt(z) { }
    
                      int get() const
                      { return tt; }
    
            };
    
            class MyClass {
    
              private:
                      int tau;
    
              public:
                      MyClass() : tau(12345) { }
                      MyClass(int z) : tau(z) { }
    
                      MyClass(const MyClass& obj) : tau(obj.tau)   { }
                      MyClass(const Super& obj)   : tau(obj.get()) { }
    
                      int get() const { return tau; }
    
                      class OTTO {
    
                        public:
                                unsigned long get() const { return 0xDEAD; }
    
                      };
    
                      int add(int val) { return tau + val; }
                      int add(const Super& sup) { return tau + sup.get(); }
    
                      friend ostream& operator<<(ostream& stream, const MyClass& obj);
            };
    
            ostream& operator<<(ostream& stream, const MyClass& obj)
            {
                stream << obj.tau;
                return stream;
            }
    
            int add(unsigned long t,const MyClass::OTTO& obj)
            {
                return obj.get() + t;
            }
    
            int add(unsigned long t,const Super& obj)
            {
                return obj.get() + t;
            }
    }
    
    int add(unsigned long t,const kasf::MyClass::OTTO& obj)
    {
        return obj.get() + t + t;
    }
    
    int add(unsigned long t,const kasf::Super& obj)
    {
        return obj.get() + t + t;
    }
    
    int main()
    {
    
       kasf::MyClass a;
       kasf::MyClass b = kasf::Super(), c(kasf::Super()), d(b);
    
       cout << kasf::MyClass() << endl << a << endl << b.get() << endl;
    
       kasf::MyClass::OTT0 otti;
       add(0xBEEF, kasf::MyClass::OTTO() );
    
       cout << kasf::MyClass(44) << endl << c << endl << d.add(5) << endl;
    
    }
    

    Edit: Sagt mir wieviel Fehler ihr findet 😉
    Edit2: Nochmal war reingebaut 😉



  • otze schrieb:

    3 Seiten rekursive templates sollten ausreichen um ein fehlendes ";" zu übersehen 😉

    Da wären vllt noch eins zwei Sachen wo camper vielleicht nicht direkt draufkommen würde :). Beim letzen Beispiel sind ja nur bekannte Sachen, obwohl ich denke das ihr einen übersehen werdet 😃 und einer aber echt übel fies ist 😃

    Den fiesen löse ich deshalbt auch jetzt schonmal auf:

    kasf::MyClass::OTT0 otti; // Fehler
    

    Denn das letzte O bei OTTO ist eine NULL und kein O.



  • Muss ich jetzt auflösen, bevor einer geantwortet hat 🙂



  • Hat der Fehler irgendwas mit Koenig Lookup zu tun?



  • CStoll schrieb:

    Hat der Fehler irgendwas mit Koenig Lookup zu tun?

    Ja, einer.



  • KasF schrieb:

    CStoll schrieb:

    Hat der Fehler irgendwas mit Koenig Lookup zu tun?

    Ja, einer.

    einer? also ich hab keinen fehler gesehen (bis auf den otto-verschreiber), bis cstoll eben koenig lookup erwähnt hat. nachgeguckt und nu seh ich genau einen fehler.



  • Komisch, jetzt finde ich den Fehler, den ich oben im Sinn hatte, nicht mehr wieder. Aber dafür ist mir ein anderer aufgefallen in Zeile 78 (hoffe ich).


Anmelden zum Antworten