为了让SO(即Stack Overflow)上有更多关于D语言的问题,我正在进行一项个人任务。然而,我又遇到了一个问题:如何在全局范围内初始化一个结构体数组。请看下面的代码:
struct A
{
int a;
float b;
}
A[2] as;
as[0] = {0, 0.0f};
as[1] = {5, 5.2f};
void main() {}
结果为:
$ dmd wtf.d
wtf.d(8): no identifier for declarator as[0]
wtf.d(9): no identifier for declarator as[1]
浏览Digital Mars的文档,我并没有看到任何对我来说完全明显的内容,所以我再次向勇敢的Stack Overflow社区求助! 我猜测错误信息与真正的问题无关,因为毫无疑问是一个标识符(但是
dmd
认为它是一个声明符号,根据我查看文档得出结论,它不是)。