我需要从结构数组中返回一个元素。我得到错误,所以我想知道如何做到这一点:
-(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)
}
答案 0 :(得分:2)
最大的问题是你定义了函数内部的结构,这意味着它无法从外部使用它。
首先将结构定义移动到调用者可以使用它的地方,然后按照其他答案的建议。
顺便说一句,您的代码中也有未定义的行为。您声明数组points
包含两个结构,但使用 four 对其进行初始化,从而覆盖编译器为该数组分配的空间。
答案 1 :(得分:0)
你应该返回第三个元素,即points[2]
...
答案 2 :(得分:0)
return points[4];
给你一个错误,因为你试图访问索引4上的项目,而你的项目有索引0,1,2和3.所以你想要
return points[2];