Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/145.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在目标-C++;,在C++;和ObjC 我想我可以把C结构从C++边传递到Objc,比如这个 - (voic)myFuncObjc:(aStruct*) mystruct { } void myFuncCpp(anObjCStruct* mystruct) { } < >代码> MyStult当它进入到Objc函数中时,即使它从C++侧被分配,仍然未被赋值。 我不能直接通过像C++这样的C++函数直接传递Objc结构 - (voic)myFuncObjc:(aStruct*) mystruct { } void myFuncCpp(anObjCStruct* mystruct) { }_C++_Ios_Objective C_Objective C++ - Fatal编程技术网

在目标-C++;,在C++;和ObjC 我想我可以把C结构从C++边传递到Objc,比如这个 - (voic)myFuncObjc:(aStruct*) mystruct { } void myFuncCpp(anObjCStruct* mystruct) { } < >代码> MyStult当它进入到Objc函数中时,即使它从C++侧被分配,仍然未被赋值。 我不能直接通过像C++这样的C++函数直接传递Objc结构 - (voic)myFuncObjc:(aStruct*) mystruct { } void myFuncCpp(anObjCStruct* mystruct) { }

在目标-C++;,在C++;和ObjC 我想我可以把C结构从C++边传递到Objc,比如这个 - (voic)myFuncObjc:(aStruct*) mystruct { } void myFuncCpp(anObjCStruct* mystruct) { } < >代码> MyStult当它进入到Objc函数中时,即使它从C++侧被分配,仍然未被赋值。 我不能直接通过像C++这样的C++函数直接传递Objc结构 - (voic)myFuncObjc:(aStruct*) mystruct { } void myFuncCpp(anObjCStruct* mystruct) { },c++,ios,objective-c,objective-c++,C++,Ios,Objective C,Objective C++,有什么习惯用法可以实现我想要的吗?那个签名看起来不正确。。try:-(void)myFuncObjC:(aStruct**)myStruct MeMCPY ”“复制”。如果你愿意,我可以贴一个例子。如果你能复制你的评论作为答案,并请添加一个例子,我将不胜感激。当系统打开插槽时,我将接受它作为正确答案。非常感谢你!

有什么习惯用法可以实现我想要的吗?

那个签名看起来不正确。。try:
-(void)myFuncObjC:(aStruct**)myStructextern“C”void myFuncCpp(anObjCStruct**myStruct){*myStruct=malloc(sizeof(aStruct));}
您正在分配一个本地指针或一个指针的副本(又称参数)。。你需要一个指向指针的指针或一个指向指针的引用。你怎么称呼它?如果
aStruct
很小,您可以通过它value@Brandon非常感谢。使用引用太久了,忘记了指针参数的细微差别。从第二个例子中,这是否意味着当将Objc传递给C++端时,即使Objc对象已经被分配,我需要重新分配它吗?如果它已经被分配,那么就只需传递您原来签名中已经拥有的指针(而不是我给您的那个指针)。Obj-C到C++ =你的签名。如果你打算在C++侧分配,那么C++是Obj-C的唯一一个。Obj-C到C++或C++到Obj-C是你的签名,如果你打算通过“代码> MeMCPY ”“复制”。如果你愿意,我可以贴一个例子。如果你能复制你的评论作为答案,并请添加一个例子,我将不胜感激。当系统打开插槽时,我将接受它作为正确答案。非常感谢你!