通过指定返回值的大小时出现质量错误
Quality Error passing sizeof casted return
我正在使用一个名为Parasoft c++ Test的代码质量工具。它报错如下内容:
setsockopt(...,sizeof(int));
:
在'setsockopt'函数调用中,不要将长类型转换为int表达式作为'5'函数参数传递
我已经尝试了几种不同的cast选项来解决这个问题,但它们似乎都没有任何效果。我可以做下面的操作,让它消失:
socklen_t socklength = sizeof(int);
setsockopt(...,socklength);
是否有一种方法可以调用sizeof(int)内联setsockopt调用而不会产生此质量错误?
转换为socklen_t
?比如:static_cast<socklen_t>(sizeof(int))
,或者你可以忽略它…
一般来说,答案是忽略这个警告——它显然是假的。此外,您不得不花费时间试图修复针对系统头文件生成的警告,这表明有些地方出了问题。
您可以尝试将sizeof()转换为socklen_t,但我希望您已经这样做了。另一种比较明显的方法是构造一个int类型的表达式。比如:
sizeof( int ) & 0xFF.
(当然,在整数宽度大于2^255位的系统上,这可能会失败…:)
相关文章:
- 警告处理为错误这里有什么问题
- 当我选择大于 720 的矩阵大小时,程序退出并显示错误代码.可能是什么原因?
- 尝试使用 EvtSetChannelConfigProperty() 函数更新最大事件日志文件大小时插入的错误值
- 当 std 数组初始化太小时,C++会引发错误吗?
- 如何在c ++中调整数组大小时修复错误?
- 使用 Nvidia NPP 调整图像大小时未记录的大小调整错误
- 我在 36603 以上输入的任何数组大小时都会返回"堆栈溢出"错误。如何使字符串能够捕获整个.txt文件?
- 调整数组大小时出现内存错误
- 当整数变量用于在 c++ 中声明数组大小时,错误显示为"Expression must have a const value"
- 为什么此代码在使用可变数组大小时不会生成错误?
- Qt QQuickView视觉错误/调整大小时闪烁
- 增加数组大小时 CUDA 主体磁贴计算错误代码 77
- 调整矢量大小时出现运行时错误
- 重新调整优先级队列大小时出现双重释放或损坏错误
- 用ctime转换为char*时,std chrono 1小时错误
- 通过指定返回值的大小时出现质量错误
- 将time_t转换为字符串,而将字符串转换为time_t会给出错误的年份和小时
- 调整大小时出现Std::vector和内存错误
- 程序运行正常数小时,最终通过内存地址0x10出现 Seg 错误
- 使用SDL2调整无边框窗口大小时的错误