On Friday, 19 October 2018 at 06:53:32 UTC, dangbinghoo wrote:
hi,

why the code bellow compiles?

---
import std.stdio;
class A {
    int m;
}

void main() {
    A a;
    a.m = 1;
}
---

and running this code get:

`segmentation fault (core dumped)  ./test`

I consider this couldn't be compiled according to book <The D Programming Language>.

The latest dmd (2.082) and LDC2 behaves the same.

Technically the code you have is syntactically correct. You are permitted to create a class variable without assigning it to a class object. (Assigning it to a class object would look like "A a = new A();")

Which section of The D Programming Language book makes you think this would not compile? I have the book as well, but I'm not quite sure what part of the book you're referring to.

Reply via email to