Call a function with a function pointer

Namespace rswhite4 at googlemail.com
Thu Oct 10 08:45:38 PDT 2013


On Thursday, 10 October 2013 at 15:15:45 UTC, bearophile wrote:
> Namespace:
>
>> You mean like this?
>> ----
>> void foo(T)(extern(C) void function(T*) func) {
>> 		
>> }
>> ----
>>
>> That prints: Error: basic type expected, not extern	
>
> In theory that's correct, in practice the compiler refuses 
> that, it's in Bugzilla, so try to define the type outside the 
> signature (untested):
>
> alias TF = extern(C) void function(T*);
>
> void foo(T)(TF func) {}
>
> Bye,
> bearophile

/d917/f732.d(8): Error: basic type expected, not extern
/d917/f732.d(8): Error: semicolon expected to close alias 
declaration
/d917/f732.d(8): Error: no identifier for declarator void 
function(T*)


More information about the Digitalmars-d-learn mailing list