--- Comment #2 from Adam Chrapkowski <> 2010-06-06 
11:11:41 PDT ---
So two questions:

1. Why the following is allowed:
extern (C) void c_func(void delegate());

2. What does mean extern (C) void delegate() ?

Delegate is just a 'data structure which consists of two pointers' and anything
more. Something like C delegate does not exists. Linkage is related to
functions not data structures delegate is a data structure.

So if D data structures are disallowed in C functions why the following is
extern (C) void c_func(string, Foo);
class Foo{...}
void d_func() {
  scope  foo = new Foo();
  string str = "Hello World!";
  c_func(str, foo);

string is a data structure as delegate, foo is a pointer to a data structure.

Configure issuemail:
------- You are receiving this mail because: -------

Reply via email to