结构指针功能?

时间:2016-09-17 18:36:55

标签: c++

我试图将我在函数中创建的结构传递给另一个函数,所以基本上我试图做的是动态创建结构数量所需的结构数量在文本文件中所以在文本文件中会有一个像5和5数据集的数字。我想将我在函数中创建的结构传递给另一个函数。几个月前我开始编程,如果有一个简单的解决方案或者问过这个问题,请原谅我。

struct graph
{
int Max,Min,index;
double dataArray[300];
};

void readfile()
{
int amount;
char tmpSTR,nmbrGraph;
ifstream myFile("data1.txt",ios::in);
myFile>>amount;
myFile>>tmpSTR;
myFile>>nmbrGraph;
graph* Data = new graph[amount];

    for(int j=0;j<nmbrGraph;j++)
    {
    for(int i=0;i<299;i++)
        myFile>>Data[j].dataArray[i];
    }
//hOW WOULD I PASS THE STRUCTURE "DATA" TO THE FUNCTION anotherFunction?
}

void anotherFunction()
{
for(int i = 0;i<300;i++)
cout<<Data[scroll].dataArray[i])<<endl; /*Error here! scroll being an 
integer declared globally*/
}

1 个答案:

答案 0 :(得分:2)

graph*指针按值或引用传递给anotherFunction作为参数。此外,重要的是包括数字项目,因为这是通过读取文件确定的并且事先不可知。

// by value
void anotherFunction(graph* Data, int amount);
// by reference
void anotherFunction(graph*& Data, int amount);