我正在尝试将我在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,任何人都可以看到我做错了吗?