从主函数访问变量

Access variable from main function

本文关键字:变量 访问 函数      更新时间:2023-10-16

我想访问loadconfig函数中的一个值,但总是出错:

请求"LoadConfig"中的成员"a",该成员属于非类类型"int()"

string trainData, testData, simName;
int b, i;
int LoadConfig()
{
    int a;
    ifstream fin("kddcup.txt"); 
    while(getline(fin,trainData))
    {
        // do whatever to the string "line"
        //  cout << i + 1 << "  "<< trainData << endl;
        char *pcg = strdup(trainData.c_str());
        //pcg=(char *)malloc(42);
        trainData = strtok(pcg,",");
        i=1;
        while (pcg != NULL)
        {
            int tint=atoi(pcg);
            int tmp[43];
            //printf ("%s",pcg);
            tmp[i]=tint;
            pcg = strtok (NULL, ",");
            //printf("value = %d n",tmp[i]);
            if (i==5)
            {
              a = tmp[i];   
              printf("value a= %d n",a); //access this a
            }
            else if(i==6)
            {
              b=tmp[i]; 
              //printf("nilai b = %d n",b);
            }
            i++;
        }//while pcg
    }
    //   getline(fin, trainData);
}
int main() 
{
  int r;
  LoadConfig();
  // I WANT access from here
  LoadConfig.a = new LoadConfig();
  printf("output fungsi main = %d ",r);
}

实现这一点的最简单方法是从函数返回a

int LoadConfig()
{
    int a;
    ...
    return a;
}
int main() 
{   int r;  
    r = LoadConfig();
    printf("output fungsi main = %d ",r);   
}

如果您想返回多个int,那么一种方法是将所有要返回的内容封装到classstruct中,然后返回。