D,设置类属性,没有声明符的标识符

Ran*_*ano 1 d compiler-errors class

我刚刚开始使用D,这很奇怪.这是我的代码:

class User
{
    int id;
    string name;
}

User b = new User();
b.name = "Edwin";
Run Code Online (Sandbox Code Playgroud)

这是我的错误:

root@d-testing:~/Sail/source# dmd nonsense.d 
nonsense.d(8): Error: no identifier for declarator b.name
nonsense.d(8): Error: Declaration expected, not '='
Run Code Online (Sandbox Code Playgroud)

我到底做错了什么?我见过的每个班级例子都是这样做的.

小智 7

你不能像在D中那样直接在文件的根目录中执行代码.你可以声明新的变量,例如'User b = new User()'(尽管它可能没有达到预期的效果),但是不执行调整b.name等任意语句.

您需要在main()方法中包装要执行的代码,例如:

void main() {
    User b = new User();
    b.name = "Edwin";
}
Run Code Online (Sandbox Code Playgroud)