On Sat, 21 May 2011 05:12:20 +0200, Andrej Mitrovic <[email protected]> wrote:
Taken from the docs: alias int func(int); void main() { if ( is(func[]) ) // not satisfied because arrays of writeln("satisfied"); // functions are not allowed else writeln("not satisfied"); }It will print not satisfied. But I'm not sure what func is supposed to be? An alias.. to what? I can't declare variables of its type:func x; error: variable test.main.x cannot be declared to be a functionOf course if you write the alias the usual way it will print 'satisfied'. Nothing strange about having an array of functions in D:alias int function(int) func; void main() { if ( is(func[]) ) writeln("satisfied"); else writeln("not satisfied"); }
It's the old C syntax for defining function pointers. Well, without the pointer. And that last part is important, because the latter example is an array of function pointers, with which D has no issue. -- Simen
