我刚刚开始使用D,这很奇怪。这是我的代码:
class User
{
int id;
string name;
}
User b = new User();
b.name = "Edwin";
这是我的错误:
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 '='
我到底做错了什么?我见过的每个班级例子都是这样做的。
答案 0 :(得分:7)
你不能像在D中那样直接在文件的根目录中执行代码。你可以声明新的变量,例如'User b = new User()'(虽然它可能没有达到预期的效果) ),但不执行任何语句,如调整b.name。
您需要在main()方法中包装要执行的代码,例如:
void main() {
User b = new User();
b.name = "Edwin";
}