Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/147.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/22.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++ ObjC/C++;相同的代码有不同的错误_C++_Objective C_Xcode - Fatal编程技术网

C++ ObjC/C++;相同的代码有不同的错误

C++ ObjC/C++;相同的代码有不同的错误,c++,objective-c,xcode,C++,Objective C,Xcode,我在同一个Xcode iOS应用程序项目中有两个文件: 第一个是.m(类型Objective-C源) 第二种是CPP(C++源代码),代码相同: 第一个函数编译并运行时没有任何问题,但第二个函数在编译时出现错误,即“没有与调用'test'匹配的函数”,我需要使用显式转换来匹配函数参数 这两者有什么区别?Obj-C不检查空参数类型还是自动执行?Cuth.Vult*/Cuff>参数不是 VoU**>代码>参数。与C++不同,Objtovi-C是C++的超集,C系统具有比C更严格的类型。错误表

我在同一个Xcode iOS应用程序项目中有两个文件:

  • 第一个是.m(类型Objective-C源)
    第二种是CPP(C++源代码),代码相同:
第一个函数编译并运行时没有任何问题,但第二个函数在编译时出现错误,即
“没有与调用'test'匹配的函数”
,我需要使用显式转换来匹配函数参数


这两者有什么区别?Obj-C不检查空参数类型还是自动执行?Cuth.Vult*/Cuff>参数不是<代码> VoU**>代码>参数。与C++不同,Objtovi-C是C++的超集,C系统具有比C更严格的类型。错误表明没有代码< >空测试(VATE**PARAM);代码>aka头文件.cpp需要
.hpp
头文件,或者使用
.h
头文件同时使用这两个头文件。如果没有匹配的头文件,则很可能直接包含cpp,但这并不意味着它的函数在包含它的声明范围之外可用。如果你的目标是将CPP与Objc混合,你会想更多地阅读关于<代码> .H/COD>、、HH>、代码> +代码> .MM文件及其效果,使用Objc++进行。对不起@ MelbDNILO C++没有更严格的类型系统,但它具有超载。Aka类携带着它们的类足迹,而在C语言中,几乎所有东西都依赖于指针,而不需要类信息。

    void test(void **param)
    {
        
    }
    
    void start ()
    {
        void *param = NULL;
        test(param);
    }


    void test(void **param)
    {
        
    }
    
    void start ()
    {
        void *param = NULL;
        test(param);
    }