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
Post a Comment