[疑难] 这是不是bug?

oldrev 2007-07-14
反复看了文档,总觉得下面的代码是合法的用法,但是却无法通过编译,我并不是很确定这是不是一个大bug。

class Foo {
//...
}
void main() {
    static Foo bar = new Foo; 
    // Error:  non-constant expression new Foo
}



分开写static和new却又能通过编译
static Foo bar;
bar = new Foo;
oldrev 2007-07-14
DMD 1.018的症状,2.x没测试
oldrev 2007-07-14
分开写static和new却又能通过编译
static Foo bar;
bar = new Foo;
heromyth 2007-07-15
到官方论坛问问吧。
DMD 1.016也是跟你一样的结果。
oldrev 2007-07-15
我搜索了一下NG,貌似不是bug,Walter也知道这个“问题”:

http://www.digitalmars.com/d/archives/digitalmars/D/bugs/940.html

静态变量只能使用常量初始化
Global site tag (gtag.js) - Google Analytics