Mix c++ with objective-c pointers, structs -


i struggle bit integrating c++ objective-c code in xcode. first wrote c++ program plays audio , worked fine. consists of functions , struct. before tried integrate in objective-c code did this:

typedef struct myplayer {  //some declarations...  } myplayer; void createinput(myplayer *player); //some other functions... 

and in main of c++ file:

int main (int argc, const char * argv[]) { myplayer player = {0};  // create createinput(&player); } 

which worked perfectly.

now thought, okay lets bring on objective-c

added player header file of objective-c code..

and did this:

 self.player = {0}; //does not compile, commented out test  createinput(self.player); 

and = {0} commented out compiles, crashes when tries createinput. how can use pointers or fill struct {0} when have such objective-c + c++ project?

why objective-c? because interface built in objective-c/cocoa

thanks! benjamin

your problem in objective-c case, player structure isn't local variable - has assumedly been declared property. when assign value using self.player, calling property setter method [self setplayer:{0}] doesn't make sense.

looking @ how you're using code, i'm assuming player declared pointer myplayer struct, need allocate memory it. if use calloc can create structure , initialise 0 @ same time.

something this:

self.player = calloc(1, sizeof(myplayer)); 

this allocates memory, sets contents zero, , calls property setter assign memory player property.

if i've got wrong, if showed how player has been declared in objective-c code.


Comments