gpt4 book ai didi

c - 错误 : called object is not a function

转载 作者:太空宇宙 更新时间:2023-11-04 08:07:03 24 4
gpt4 key购买 nike

尝试使用指针创建一个由 float 组成的数组

int main(void)
{
int num_of_dataSets;
float **dataSets;
int i;
float *get_data;

printf("Enter the number of data sets: \n");
scanf( "%d " , &num_of_dataSets);
dataSets = malloc(num_of_dataSets * sizeof(float) );

for( i=0; i < num_of_dataSets; i++)
{
*(dataSets + i) = get_data();
}

}


float* get_data()
{
float *float_list_data;
int j;
int num_of_floats;

printf("Enter the data: \n");
scanf("%d" , &num_of_floats);

float_list_data = malloc( num_of_floats * sizeof(float) );
return float_list_data;
}

获取名为“get_data”对象的错误不是一个函数。我无法让错误消失。我错过了什么?!

最佳答案

两件事:

  1. 除了名为 get_data 的函数之外,您的函数中已经有一个名为 get_data 的局部变量。重命名其中任何一个以避免命名困惑。

    编辑:您似乎甚至没有在 main() 中使用变量 float* get_data;。您可以将其删除。

  2. 如果您调用编译器无法找到或不知道的函数,它会假定它只是从其他地方链接到(例如,链接器知道的其他一些库),并返回一个整数。在代码中的 main() 下定义 get_data() 之前调用 get_data()。为避免此错误,请在 main() 之前对函数 get_data() 进行原型(prototype)设计,如下所示:

    float* get_data();
    int main(void)
    {
    /* Your code here */
    }
    float* get_data()
    {
    /* Your code here */
    }

关于c - 错误 : called object is not a function,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42117231/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com