www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.learn - c function as parameter

reply useo6 <useo6 start.bg> writes:
Hello everyone,

I'm trying to create a function which awaits a C function as parameter... like
this:

void myfunction(void C function(uint, void*)) {
....
}

But... when I try to compile it, I get the follwing error:
"found 'function' when expecting ')'".
Does anyone knwo what's wrong with my parameters or is it impossible to create
such function?

Thx for help :).
May 15 2010
next sibling parent useo6 <useo6 start.bg> writes:
useo6 Wrote:

 Hello everyone,
 
 I'm trying to create a function which awaits a C function as parameter... like
this:
 
 void myfunction(void C function(uint, void*)) {
 ....
 }
 
 But... when I try to compile it, I get the follwing error:
 "found 'function' when expecting ')'".
 Does anyone knwo what's wrong with my parameters or is it impossible to create
such function?
 
 Thx for help :).

Sorry, I forgot the name of the parameter (I didn't past it here^^)... the function looks like this: void myfunction(void C function(uint, void*) callback) { .... }
May 15 2010
prev sibling parent reply "Simen kjaeraas" <simen.kjaras gmail.com> writes:
useo6 <useo6 start.bg> wrote:

 Hello everyone,

 I'm trying to create a function which awaits a C function as  
 parameter... like this:

 void myfunction(void C function(uint, void*)) {
 ....
 }

 But... when I try to compile it, I get the follwing error:
 "found 'function' when expecting ')'".
 Does anyone knwo what's wrong with my parameters or is it impossible to  
 create such function?

 Thx for help :).

You will have to use an alias for this: alias extern( C ) void function( uint, void* ) myCFunction; void myfunction( myCFunction param ) { } -- Simen
May 15 2010
parent useo6 <useo6 start.bg> writes:
Simen kjaeraas Wrote:

 useo6 <useo6 start.bg> wrote:
 
 Hello everyone,

 I'm trying to create a function which awaits a C function as  
 parameter... like this:

 void myfunction(void C function(uint, void*)) {
 ....
 }

 But... when I try to compile it, I get the follwing error:
 "found 'function' when expecting ')'".
 Does anyone knwo what's wrong with my parameters or is it impossible to  
 create such function?

 Thx for help :).

You will have to use an alias for this: alias extern( C ) void function( uint, void* ) myCFunction; void myfunction( myCFunction param ) { } -- Simen

Thanks, works perfectly :)
May 15 2010