On 12 May 2013 15:41, Rel <relm...@rambler.ru> wrote: > Benjamin Thaut, yes I know. but here is an example, if I add a class to > the code like that: > > > module main; > > extern (C) void* _Dmodule_ref = null; > extern (C) void printf(const char*, ...); > > extern (C) void puts(const char*); > extern (C) void exit(int); > > class A { > int a = 100; > int b = 200; > > }; > > extern (C) void main() { > scope(exit) { > puts("Exiting!"); > exit(0); > } > > A a; printf("%d %d\n", a.a, a.b); > } >
This code won't work. classes are reference types and need to be initialised with 'new'. This requires TypeInfo_Class information to do... You could possible use 'scope A a = new A'. But again your going into the bounds of needing rtti for the initialiser var to assign it on the stack. Structs would be your friend here... -- Iain Buclaw *(p < e ? p++ : p) = (c & 0x0f) + '0';