2

纯函数返回纯是什么意思?

pure int doubleMe(in int i) pure { return i * 2; }

代码编译不给出redundant storage class pure,所以我想这不是一个错误?

// DMD 2.056

4

2 回答 2

4

pure 是一个函数属性。函数属性可以放在返回类型之前或参数列表之后。在这两种情况下,它都描述了函数,而不是返回类型。因此,没有所谓的“还清净”。

它应该引发错误,这可能是一个错误。同样的事情也会被其他一些属性忽略,比如@safe。

于 2011-12-09T04:31:47.193 回答
0

pure int可能应该被忽略。但是,我相信我们拥有它的原因是一个函数可能返回一个“纯函数”。在那种情况下,我认为它是否是一个错误是有争议的。

于 2011-12-09T23:27:17.100 回答