Visual Studio 可能是错误的编译器错误

海蒂·西弗特

我最近不得不重新映像我的笔记本电脑,并重新安装了 Visual Studio(尝试了 2018 年但它让我很恼火,所以我回滚到 2015 年似乎工作得更好)我打开了一个旧项目,起初它说失败了找到构建工具集,所以我将它重新定位到我刚刚安装的那个。并再次尝试编译,但在以下函数中告诉我失败:

string getinvnum(vstring range) {
int inv;
string ret;
for (int i = 0; i < range.size(); i++) {
    int temp = stoi(range[i]);
    if (temp > inv) {
        inv = temp;
    }
}
return to_string(inv);}

cpp(266): error C4700: uninitialized local variable 'inv' used.与公然拒绝编译。

第 266 行与那里的 if 语句有关。这根本不是一个复杂的函数,它肯定是初始化的,事实上,如果我将鼠标悬停在“inv”智能感知上,它会减速。

然后我决定将我的源代码复制并粘贴到一个新项目中,因为这个错误对我来说毫无意义,注释掉与其他包含的项目文件相关的代码,并尝试重新编译,并且它没有任何抱怨地工作。

这段代码有什么问题,或者工具集的变化有问题吗?虽然一切正常,但我只想了解,如果可能的话,发生了什么/我做了什么导致了这个错误。

谁能向我解释为什么visual studio要对我这样做?

编辑:刚刚将整个解决方案复制到一个新项目中,现在整个项目都没有任何问题。然而,原来的代码虽然相同,但仍然告诉我同样的错误。

艾伦·伯特尔斯

inv未初始化。根据项目编译器设置、编译器版本以及您是使用调试还是发布编译器可能会或可能不会检测到这一点。

要解决此问题,只需初始化inv为具有初始值。由于inv具有一些随机值(有时可能会起作用,因为该随机值可能为 0),编译器试图保护您免受难以发现的错误

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Visual Studio 2013中可能的C / C ++编译器错误

可能的Visual Studio 2015 C ++编译器和IntelliSense错误

编译器错误CS1061 Visual Studio

这是Visual Studio 2010编译器中的错误吗?

Visual Studio 编译器错误(不能使用逗号)

什么是 ?和@符号表明此编译器错误?-Visual Studio 2013编译器

当 Visual Studio 运行良好时,向量迭代器上的 LInux g++ 编译器错误

在Visual Studio 2013中更改编译器错误语言

如何在Visual Studio Code for TypeScript中完全导入而获得编译器错误消息?

也许是Visual Studio 2015中的C#编译器错误

所有Visual Studio编译器错误和警告的列表及其编号

解决带有嵌套模板变量的Visual Studio内部编译器错误

Visual Studio 2015更新3-C ++编译器错误?

static_assert(std :: is_abstract)在Visual Studio 2013中导致编译器错误

如何在Visual Studio中查看模板编译器错误详细信息

Visual Studio 2015更新1中C ++的内部编译器错误

仅在发行版中的Visual Studio 2019“ C1001内部编译器错误”

Visual Studio 2015 的 r 工具中的 Rcpp 编译器错误

语法错误与Visual Studio中的编译器错误,或红色波浪下划线与蓝色波浪下划线

代码在Visual Studio中运行,但是在同一系统中的iis上托管时编译器错误

在Visual Studio中使用文字整数分配的奇怪行为会导致四个意外的编译器错误

Visual Studio 2013和2015中的C ++编译器错误C2280“试图引用已删除的函数”

g ++编译器为表达式提供<<类型错误,但可在Visual Studio中使用

Visual Studio生成“错误:未初始化的本地变量'x'”,而在线编译器不生成-为什么?

Visual Studio编译器错误:对委托构造函数的调用应是唯一的成员初始化程序

有时Visual Studio IDE0032建议可能是错误的做法吗?

Visual Studio Git错误:“索引已锁定。这可能是由于并发或崩溃的进程引起的。”

Android Studio编译器中的错误?

Visual Studio 2015 C ++编译器可能提供代码内指令集标记