Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/27.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++;和C++;,函数不返回值_C++_Objective C_Objective C++ - Fatal编程技术网

C++ 混合目标C++;和C++;,函数不返回值

C++ 混合目标C++;和C++;,函数不返回值,c++,objective-c,objective-c++,C++,Objective C,Objective C++,我正在尝试将我在Windows上编写的一些代码移植到带有Xcode的Mac应用程序中,我遇到了一个非常奇怪的问题。我的C++函数不再返回一个值,我使用调试器来确认返回的变量确实包含一个值(在调用函数的内部),但是我的函数将我的函数赋值为null。 // calling the function vec3* vs = getRandomizedPoints(NUM_POINTS, a, b); // function being called vec3* getRandomizedPoints(

我正在尝试将我在Windows上编写的一些代码移植到带有Xcode的Mac应用程序中,我遇到了一个非常奇怪的问题。我的C++函数不再返回一个值,我使用调试器来确认返回的变量确实包含一个值(在调用函数的内部),但是我的函数将我的函数赋值为null。
// calling the function
vec3* vs = getRandomizedPoints(NUM_POINTS, a, b);

// function being called
vec3* getRandomizedPoints(unsigned int numOfPoints, vec3 startRange, vec3 endRange)
{
    unsigned int i;
    vec3* ret = (vec3*)malloc(sizeof(vec3) * numOfPoints);

    srand(clock());

    for (i = 0; i < numOfPoints; ++i)
    {
        ret[i].x = randWithinRange(startRange.x, endRange.x);
        ret[i].y = randWithinRange(startRange.y, endRange.y);
        ret[i].z = randWithinRange(startRange.z, endRange.z);
    }

    return ret;
}
//调用函数
vec3*vs=getRandomizedPoints(NUM_POINTS,a,b);
//正在调用的函数
vec3*getRandomizedPoints(无符号整数点、vec3起始点、vec3结束点)
{
无符号整数i;
vec3*ret=(vec3*)malloc(sizeof(vec3)*numOfPoints);
srand(clock());
对于(i=0;i

ret返回时确实包含一个值,但在调用代码中vs变量仍然为空,有人能看到我做错了什么吗?

我没有看到任何错误。这是准确的密码吗?您确定要在代码的后期访问
vs
吗?这就是确切的代码,我没有在代码的后期访问它。一旦我改变了vs变量是在函数外部填充的,但是当我尝试将函数分配给我的静态vec3*vecs=NULL;它根本不起作用,代码中的vecs稍后会被另一个文件访问,但从vs分配给vecs根本不起作用。实际上,我只是通过使静态变量成为一个类的成员来实现这一点,为什么这样做我不知道??