• [^] # Re: void et les templates?

    Posté par . En réponse à la dépêche Le langage D. Évalué à 1. Dernière modification le 13 juin 2012 à 02:12.

    dans ton exemple il me semble que tu as oublier de donner le second paramètre au constructeur de slot pour le premier c'est facile quand au second j'attends que tu complète j'imagine une fonction ?

    En attendant voila un début en D

    import std.stdio;
    struct slot(T,P) {
     public:
     alias T take;
     alias P pass;
     alias T function(P) callback;
     this (callback _f, pass _x){
     f = _f;
     x = _x;
     }
     T opCall() { return f(x); }
     private:
     callback f;
     pass x;
    };
    int f1(int x) {
     return x;
    }
    void f2() {}
    void main(){
     auto c1 = slot!(int , int)(&f1, 5);
     writeln( c1() );
    }
    
    
    ldc2 slot.d
    $ ./slot 
    5