2013-02-20 2 views
3

Alors disons que j'ai cette structure a et une méthode void qui prend cette struct en paramètre. Comment serais-je capable de renvoyer la méthode vide par une autre méthode, puis de l'appeler plus tard?Comment retourner une fonction et l'appeler plus tard?

Le code je ressemble à ceci:

struct Script{ 
    //variables 
} 

void foo(Script e) 
{ 

} 

function getfoo() 
{ 
    return foo; 
} 

void main(string[] args) 
{ 

    writeln("Hello World!"); 
    stdin.readln(); 
} 

Répondre

8
import std.stdio; 

struct Script 
{ 
    int x, y; 
} 

void foo(Script e) 
{ 
    writeln("Got: ", e); 
} 

void function(Script e) getfoo() 
{ 
    return &foo; 
} 

void main(string[] args) 
{ 
    auto func = getfoo(); 
    func(Script(1, 2)); 
} 
+0

J'aime la façon dont ils ont changé la façon types sont définis dans D. –

Questions connexes