gpt4 book ai didi

c++ - gcc -Wstringop-overflow 在这里提示什么?

转载 作者:行者123 更新时间:2023-12-01 14:48:25 24 4
gpt4 key购买 nike

以下代码(从更大、更合理的示例中缩减而来):

#include <vector>

void shrink(std::vector<int>& v) {
while (v.size() > 0) {
v.resize(v.size() - 1);
}
}

导致 gcc 7.3 发出此警告 ( godbolt ):
In function 'void shrink(std::vector<int>&)':
cc1plus: warning: 'void* __builtin_memset(void*, int, long unsigned int)':
specified size 18446744073709551612 exceeds maximum object size 9223372036854775807 [-Wstringop-overflow=]

我和一位同事一起盯着这段代码看了将近一个小时,对我来说这似乎是正确的; gcc 在提示什么?

最佳答案

it just seems correct to me



这个例子是正确的。

what is gcc complaining about?



这是一个编译器错误。这是 bugzilla .该错误似乎已在 GCC 8 中修复。

关于c++ - gcc -Wstringop-overflow 在这里提示什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60885454/

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