混合Objective C ++和C ++,函数不返回值

时间:2013-10-15 03:31:12

标签: 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(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;
}

ret在返回时确实包含一个值,但在调用代码中,vs变量仍为NULL,任何人都可以看到我做错了吗?

0 个答案:

没有答案