gpt4 book ai didi

c - 如何解决编译器错误 : invalid use of void expression?

转载 作者:行者123 更新时间:2023-11-30 20:16:43 25 4
gpt4 key购买 nike

turtle(int fd,int sec1,int turtle_speed){

signal(SIGUSR1,handle(fd,turtle_speed));

struct timeval b;

int flag=1,turtle_current_pos,turtle_previous_pos=0,sec2;

turtle_current_pos=0;

while(turtle_current_pos<100){

sleep(2);

gettimeofday(&b,NULL);

sec2=b.tv_sec;

//printf("%d\n",sec2);

turtle_current_pos=(sec2-sec1)*turtle_speed;
fflush(stdout);

if((turtle_current_pos-turtle_previous_pos)>=1){
turtle_previous_pos=turtle_current_pos;
print('T',turtle_previous_pos);
}
}
}

最佳答案

问题出在第一行。您必须传递一个函数指针,而看起来您正在调用该函数,而该函数恰好具有 void 返回类型。看起来您还希望 C 有闭包 - 您试图将参数传递给信号处理函数。这不可能。您需要将这些值存储在全局变量中,并使用信号处理程序的正确原型(prototype)声明您的信号处理程序。

关于c - 如何解决编译器错误 : invalid use of void expression?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3433079/

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