[疑难] with 语句 bug?
oldrev
2007-06-04
按照 http://www.digitalmars.com/d/statement.html#WithStatement 给出的例子程序编译错误:
void main() { struct Foo { typedef int Y; } with (Foo) { //Error: Foo is not a lvalue Y y; } } 我的DMD是 1.014,不知道是不是刚出现的 bug? |
|
oldrev
2007-06-04
如果确认就去向火星人报告了。
|
|
Colorful
2007-06-04
我的也编译不过。
但是改成下面的代码可以通过编译。 void main(char[][] argv) { struct Foo { typedef int Y; } Foo foo; with(foo) { Y y; } } |
|
Colorful
2007-06-04
where Expression evaluates to a class reference or struct instance.
我猜是给出的例子有误吧。 |
|
oldrev
2007-06-05
WithStatement:
with ( Expression ) ScopeStatement with ( Symbol ) ScopeStatement with ( TemplateInstance ) ScopeStatement 文档里明确说明了支持三种类型, with(Foo) 应该属于第二种,看来确认 bug 了 |
|
oldrev
2007-06-05
真没想到 1.014 里还有这么大的bug
|