2013-02-20 57 views
3

所以我們可以說我有這個結構體a和一個將該結構體作爲參數的void方法。我將如何能夠通過另一種方法返回void方法,然後再調用它?如何返回一個函數,然後再調用它?

我的代碼看起來是這樣的:

struct Script{ 
    //variables 
} 

void foo(Script e) 
{ 

} 

function getfoo() 
{ 
    return foo; 
} 

void main(string[] args) 
{ 

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

回答

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

我喜歡他們是如何改變類型在D.定義方式 – 2013-02-24 02:38:38