gpt4 book ai didi

c - 无效声明-有用值(value)

转载 作者:行者123 更新时间:2023-12-02 10:52:51 25 4
gpt4 key购买 nike

我无法为自己的一生弄清楚为什么它认为这不会起作用:

int neededSize = size + ROW_SIZE;
int offset = neededSize % MIN_BLOCK_SIZE;
int padding = 0;
if(offset != 0){
padding = MIN_BLOCK_SIZE + offset;amount of padding that we need
}
int requiredSize = neededSize + padding;

错误如下:
src/sfmm.c:63:34: error: statement with no effect [-Werror=unused-value]
padding = MIN_BLOCK_SIZE - offset;

包含的.h文件中的MIN_BLOCK_SIZE定义:
#define MIN_BLOCK_SIZE 64;

我的文本编辑器在该特定行的减号上显示错误。

让我知道是否需要查看更多代码。

最佳答案

您用最后一个分号定义了MIN_BLOCK_SIZE:

#define MIN_BLOCK_SIZE 64;

由于您的#define,表达式为:
padding = 64; + offset;  

因此,这是两个单独的语句。
  • 第一条语句将64分配给变量padding
  • 第二条语句只是+offset;,没有任何作用。
    它只是求值一个被丢弃的值。

  • 错误消息是正确的。

    我相信 的意思是来定义
    #define MIN_BLOCK_SIZE 64  // Without the final semi-colon.

    那么表达式将是:
    padding = 64 + offset;  

    关于c - 无效声明-有用值(value),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62203109/

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