2013-10-30 112 views
-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) 
} 
+1

你确定这是C代码?不是Objective-C? –

+0

你应该发布你正在寻找帮助的代码。正如你所说的,“点[2]”实际上是对@Palec的回答评论的点[19],那么有人可以帮助你吗? – Thanushan

回答

2

最大的问题是你定义的构造函数内部,这意味着它不是可能从外面使用它。

首先,结构定义移动到某个地方,通常是主叫可以使用它,然后按照其他答案的建议。


顺便说一句,你有未定义行为在你的代码为好。您声明数组points包含结构,但与对其进行初始化,从而覆盖编译器为数组分配的空间。

+0

但我确实希望它是私人的..有没有办法返回3私人价值?或者我必须设置一个3d数组? – Curnelious

+0

@Curnelious在这种情况下,我建议你传递一个数组作为参数的函数,然后该数组与正确的价值观填写。你不能在函数外部使用结构,即使是返回类型。来电者如何能够知道它是什么? –

+0

好,非常感谢。 – Curnelious

0

应返回第三个元素,这是points[2] ...

0
return points[4]; 

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

return points[2]; 
+0

这其实是错误的。我写了4只为示范,阵中拥有19个价值观,我试图去5所以其挑衅不是问题 – Curnelious

+0

@Curnelious不解不良示范。 Joachim Pileborg正确地发现了主要问题。 – Palec

相关问题