gpt4 book ai didi

c++ - 新的 C++ 警告会提高可靠性吗?

转载 作者:行者123 更新时间:2023-11-27 23:37:38 26 4
gpt4 key购买 nike

所以,在使用 C# 工作了很长时间之后,我一直在使用 C++,我注意到现在有所有这些警告。

虽然一些警告似乎是使代码更可靠的好建议,但其中许多似乎并非如此。其中一些似乎完全错误。

这是一个我觉得不值得的例子:

static TCHAR szGeneral[] = _T("General");
static TCHAR szSqlOdbcDriver[] = _T("SqlOdbcDriver");

WriteProfileString(szGeneral, szSqlOdbcDriver, CSqlServerDatabase::m_sOdbcDriver.GetString());

Warning C26485 Expression 'szGeneral': No array to pointer decay (bounds.3).

Warning C26485 Expression 'szSqlOdbcDriver': No array to pointer decay (bounds.3).

我的问题是:这会让我的代码变得更好吗?

我承认我不得不关闭警告,因为我的项目有将近 800 个警告。 (十年前编写的代码被认为是完全有效的。)所以我会错过所有好的建议。这样做的结果是我的代码更糟糕。

最佳答案

请注意,此警告来自最近添加到 Visual Studio 的核心指南检查器。只有当您从头开始编写新代码并准备好遵循核心指南时,来自此检查器的警告才有意义。否则,关闭检查器。

检查器是静态代码分析器的一部分,您可能不应该在编译中包含该分析器。

在您的项目属性中,您在 C/C++-->Command Line 中有 /analyze。你应该摆脱这个标志(我不知道如何为你的 Visual Studio 版本做这件事)。

不要关闭所有警告。

关于c++ - 新的 C++ 警告会提高可靠性吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58108764/

26 4 0
文章推荐: javascript - 使用 JS 删除
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com