博客
关于我
void value not ignored as it ought to be 报错原因
阅读量:661 次
发布时间:2019-03-15

本文共 751 字,大约阅读时间需要 2 分钟。

以下是一些针对GCC编译器错误信息的优化解释和建议:

错误信息解析:

GCC编译器抛出的错误信息提示我们,函数Function的返回类型定义为void。这意味着该函数不会返回任何值,调用Function时不应尝试赋值给非void型变量。例如:

void Function() { /* 代码 */ }int main() {   int t = Function(); // 错误,Function返回void   return 0;}

常见原因:

  • 函数返回类型错误:确保函数Function的定义和声明一致。如果函数实际返回某个值,但定义为void,会导致此错误。

  • 剪枝错误:在递归或函数调用中,错误地处理返回值,导致尝试将void赋值给非void变量。

  • 变量类型不匹配:调用函数时,变量的类型与函数返回值不正确,导致类型冲突。

  • 修复方法:

  • 检查函数声明和实现

    • 确认函数Function的定义是否正确为void
    • 如果函数需要返回值,应更改返回类型为nonvoid
  • 选择正确的变量类型

    • 调用函数时,变量应声明为与函数返回值一致的类型。
  • 避免特定情况错误

    • 避免在递归或异常处理中错误地处理函数返回值。
  • 添加错误检查

    • 在关键步骤添加类型检查,防止变量类型错误。
  • 示例修复:

    如果Function的返回值需要使用,请更改其返回类型:

    int Function() { /* 代码 */ }int main() {   int t = Function();   return 0;}

    注意事项:

    • 类型清晰度:确保函数返回类型与使用场景一致。
    • 错误处理:在可能出现错误的情况下添加保护措施。
    • 代码审查:定期检查代码,避免重复错误。

    通过以上步骤,可以系统地修复并防止类似void返回类型错误的问题。

    转载地址:http://twdqz.baihongyu.com/

    你可能感兴趣的文章
    numpy.frombuffer()
    查看>>
    文件结束符EOF
    查看>>
    Latex 错误集合
    查看>>
    利用VNC进行Windows和Linux之间的复制
    查看>>
    Python的一个报错——OSError: [Errno 22] Invalid argument
    查看>>
    Python中什么时候用logger.debug, info, error
    查看>>
    Python的内置函数(四十一)、 index()
    查看>>
    Python的内置函数(四十二)、 numel()
    查看>>
    python中的os.path.dirname与os.path.dirname(__file__)的用法
    查看>>
    Python 代码占多行
    查看>>
    cuda error:device-side assert triggered
    查看>>
    TypeError: string indices must be integers
    查看>>
    Building wheel for opencv-python (PEP 517) ... /
    查看>>
    卷积神经网络的工程技巧总结
    查看>>
    OSError: [Errno 22] Invalid argument: ‘D:\test\x07‘
    查看>>
    Python的内置函数(十六)、strip()
    查看>>
    Python字符串操作之字符串分割与组合
    查看>>
    MATLAB截断数组
    查看>>
    tf.parse_single_example()
    查看>>
    tensorflow为什么要用placeholder()
    查看>>