gpt4 book ai didi

c - 不确定如何修复我收到的警告

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

我正在尝试通过参数传递结构,但我无法修复收到的警告。我写了一小段独立代码,它产生了我在一段更大的代码上收到的警告消息。问题似乎是我的 start_thread 参数有误。我该怎么做才能修复它们?

这是我收到的三个警告。

‘struct port_t’ declared inside parameter list [enabled by default]

its scope is only this definition or declaration, which is probably not what you want [enabled by default]

passing argument 2 of ‘start_thread’ from incompatible pointer type [enabled by default]

这是代码

#include <stdio.h>
#include <stdlib.h>
#define N 10

typedef struct {
int port[N];
int id;
} port_t;


void createPort(port_t *temp, int id)
{

temp->port[0] = 0;
temp->port[1] = 1;
temp->port[2] = 2;
temp->port[3] = 3;
temp->port[4] = 4;
temp->port[5] = 5;
temp->port[6] = 6;
temp->port[7] = 7;
temp->port[8] = 8;
temp->port[9] = 9;
temp->id = id;

}


void send(port_t temp)
{

}

void start_thread(void *function, struct port_t *port)
{
printf("In main: creating thread\n");

}



int main(void) {

port_t id[100];

int x;
for(x =0; x < 100; x++)
{
createPort(&id[x], x);
}

start_thread(send, &id[0]);
puts("!!!Hello World!!!"); /* prints !!!Hello World!!! */
return EXIT_SUCCESS;
}

最佳答案

start_thread 定义中取出“struct”。您已经将上面的 port_ttypedef 声明为指向指定结构的指针,这就是您打算使用的类型。

struct 用于定义一种您已有的新结构类型。

关于c - 不确定如何修复我收到的警告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26919755/

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