-1

我需要从结构数组中返回一个元素。我收到错误,所以我想知道如何做到这一点:

-(struct Point3D)getMyColor
{
    struct Point3D
    {
        int x;
        int y;
        int z;
    };
 struct Point3D points[15] =
    {
        {204, 74, 110},
        {118, 56, 198},
        {175, 122, 231}, // I WANT TO RETURN THIS ONE TO THE CALLER
        {3, 197, 47},
        ....

    }

 return  WHAT?    // (points[4] give error)
}
4

3 回答 3

2

最大的问题是您在函数内部定义结构,这意味着无法从外部使用它。

首先将结构定义移动到调用者可以使用它的地方,然后遵循其他答案的建议。


顺便说一句,您的代码中也有未定义的行为。您将数组声明points为包含两个结构,但使用4对其进行初始化,从而覆盖编译器为数组分配的空间。

于 2013-10-30T07:28:05.680 回答
0

您应该返回第三个元素,即points[2]...

于 2013-10-30T07:24:56.387 回答
0
return points[4];

给你一个错误,因为你试图访问索引 4 上的项目,而你的项目有索引 0、1、2 和 3。所以你想

return points[2];
于 2013-10-30T07:27:45.420 回答