2010-11-18 62 views
3

有谁知道是否会实现subj? 至少,他们的自动存储类? 谢谢!D嵌套函数类型推理

+2

请更具体。你是什​​么意思的主题? – 2010-11-18 08:21:32

+0

我的意思是constr。 void foo(){auto bar(){return 3.14; }; }不会编译,因为bar不能有自动存储类。我只是好奇,如果至少这样的增强计划。 – 2010-11-18 09:08:07

回答

4

有各种各样的问题,与通常的自动功能,因此它很可能是,你不能做

void main() 
{ 
    auto bar() { return "hello world"; } 

    writeln(bar()); 
} 

因为汽车而不是它是作为设计中的错误。我不确定具体的计划是什么,尽管我想认为你应该能够使用auto作为嵌套函数的返回类型。两种情况下都有一个enhancement request

但是,无论汽车是否有嵌套函数的作品,你可以以类似的方式声明一个代理:

void main() 
{ 
    auto bar =() { return "hello world"; }; 

    writeln(bar()); 
} 

所以,基本的功能仍然存在,即使确切的语法,你正在寻找目前没有工作。

+0

如果我理解正确,委托或功能关键字不是必需的? – 2010-11-18 11:47:12

+0

让'const bar = ...'更好,这样它更像一个真正的函数WRT左值。 – BCS 2010-11-18 15:35:51

+0

@ Target-san如果你想强制lambda函数是一个或另一个,你通常只使用函数或委托关键字,并且通常不需要。 – 2010-11-18 16:39:49