我需要从结构体数组中返回一个元素。我收到错误,所以我想知道该怎么做:
-(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)
}
最佳答案
最大的问题是你在函数内部定义结构,这意味着不可能从外部使用它。
首先将结构定义移动到调用者可以使用它的地方,然后遵循其他答案的建议。
<小时/>顺便说一句,您的代码中也有未定义的行为。您将数组points
声明为包含两个结构,但用四个对其进行初始化,从而覆盖编译器为该数组分配的空间。
关于c - 从结构体数组返回元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19676178/