note: expected 'INT_POINT_INFO *' {aka 'struct int_point_info_ *'} but argument is of type 'FLOAT_POINT_INFO *' {aka 'struct float_point_info_ *'}
时间: 2024-02-13 12:03:44 浏览: 177
这是一个编译器的提示信息,表示函数期望的参数类型是'INT_POINT_INFO *',但实际传入的参数类型是'FLOAT_POINT_INFO *'。这通常是由于函数声明和函数调用之间的参数类型不匹配导致的。你需要检查函数声明和函数调用的参数类型,并确保它们匹配。如果不能直接修改参数类型,你可以考虑使用类型转换将参数转换为正确的类型。但是要注意,类型转换可能会丢失一些精度或者导致其他问题,所以需要谨慎使用。
相关问题
/usr/include/signal.h:88:23: note: expected ‘__sighandler_t {aka void (*)(int)}’ but argument is of type ‘int (*)(void)’ extern __sighandler_t signal (int __sig, __sighandler_t __handler)
根据警告信息显示,`signal`函数的第二个的类型应该是`__sighandler_t,它是一个指向接受一个整型参数返回`void`的函数指针类型。而你提供的show`函数的类型是`int (*)(void)`,是一个指向接受参数并返回整型的函数的指针,这与`__sandler_t`不匹。
为了解决这个问题你需要将`show`的类型更改为合`__sighandler_t要求的类型。你将`show`函数的返回类型更为`void`,并其参数类型更改整型。例如:
```cvoid show(int signal_number // 函数体
}
```
这样做就与`__sighandler_t`类型匹配了,并且不会产生警告信息。请确保在调用`signal`函数时传递的参数类型与函数原型匹配,以避免类型不匹配的警告。
/usr/include/time.h:88:15: note: expected ‘const struct tm * restrict’ but argument is of type ‘struct tm **’ extern size_t strftime (char *__restrict __s, size_t __maxsize,
这个错误提示来自于 C 语言的 time.h 头文件中的 strftime 函数。它的原型通常是这样的:
```c
size_t strftime(char * restrict s, size_t maxsize, const char * restrict format, const struct tm * restrict timeptr);
```
其中第四个参数是一个指向 const struct tm 类型的指针。但是错误提示中的实参是一个指向 struct tm* 类型的指针,这是不匹配的。
你可能需要检查一下你的代码,看看在调用 strftime 函数时,第四个参数是否正确地指向了一个 const struct tm 类型的指针。如果不确定如何解决这个问题,可以提供更多的代码和上下文信息,以便我能够更好地帮助你。
阅读全文