2

I have two functions,

//virDomain is some struct
int virDomainCreate(virDomain*);
int virDomainDestroy(virDomain*);

How do I assign these two functions to a variable?

I tried,

int (*func)(virDomain*) = NULL;
func = virDomainCreate(virDomain*); // not working
func = &virDomainDestroy(virDomain*); //not working

Thanks for all your help! Waka.

waka-waka-waka
  • 1,025
  • 3
  • 14
  • 30

2 Answers2

7

You can just assign the pointer to the function like:

func = &virDomainCreate;

Or you can just use the short format:

func = virDomainCreate;
Arjun Sreedharan
  • 11,003
  • 2
  • 26
  • 34
1

The return type is int so

int func;
func = virDomainCreate(virDomain*); 
func = virDomainDestroy(virDomain*);

will work.

Salman Zafar
  • 3,844
  • 5
  • 20
  • 43
learner
  • 4,614
  • 7
  • 54
  • 98