void value not ignored as it ought to be int login_result = do_login(sockfd, msg);
时间: 2024-03-18 07:40:24 浏览: 68
KEIL_C编译器错误的解决办法
4星 · 用户满意度95%
这个错误通常是因为在一个表达式中使用了一个函数调用,但是没有使用该函数返回的值。在你的例子中,`do_login` 函数的返回值被用于一个赋值语句中,但是这个值没有被用于任何其他地方。要解决这个错误,你需要确定是否真的需要使用 `do_login` 函数的返回值,如果不需要,你可以将代码修改为如下所示:
```
do_login(sockfd, msg);
```
如果你确实需要使用返回值,你需要将其存储在一个变量中,并且在后续的代码中使用该变量。例如:
```
int login_result = do_login(sockfd, msg);
// 使用 login_result 变量进行后续操作
```
这样就不会出现上述错误了。原因是在 C 语言中,如果一个函数返回了一个值,但是这个值没有被使用,编译器会产生警告,因为这可能会导致程序出现意外的行为。因此,为了保证程序的正确性,我们应该始终使用函数的返回值,或者将其忽略。
阅读全文