2013-02-20 116 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

相关问题