关于Visual Studio 2022常见的报错以及处理方案

简介: 关于Visual Studio 2022常见的报错以及处理方案

前言


本文章主要是介绍c语言在vs2022编译器上运行时常见的报错,主要是想解决各位在编程时遇到的各种问题。


结语

9334580f73924629a1688e59a5c19a14.jpg



C4996:返回值被忽略

C2057:应输入常量表达式

E0169: 应输入声明

E0040: 应输入标识符

E0029:应输入表达式

E0020:未定义的标识符

C6262: 堆栈溢出

C4244:从double转换为int可能会丢失数据

C2065:“identifier”:未声明的标识符

C2143: 语法错误缺少分号

LNK1168: 无法打开进行写入

C2146:语法错误缺少“)”在标识符“x”的前面

C2069: 语法错误:“)”

C3861:找不到的标识符

E0127:应输入一个语句

C2181:没有匹配if的非法else

C2466:不能分配常量大小为0的数组

C2057:应输入常量表达式


**

正文

1.C4996 :

“scanf”返回值被忽略

报错类型:


da7921c2c039422c86a4c24271c381c1.jpg

解决方案:

1.加上**#define _CRT_SECURE_NO_WARNINGS** 头文件

2.预处理方案:在预处理上方加上**#pragma warning(disable:4996)**即可解决

**

2.C2057

报错类型:

// C2057.cpp
int i;
int b[i]; // C2057 - value of i is unknown at compile time
int main() {
const int i = 8;
int b[i]; // OK - value of i is fixed and known to compiler
}

**

解决方案:

// C2057b.c
#define ArraySize1 10
int main() {
const int ArraySize2 = 10;
int h[ArraySize2]; // C2057 - C does not allow variables here
int h[ArraySize1]; // OK - uses preprocessor constant
}

3.E0169

报错类型:


67054bdafa76413db05bc4b2a2e013c8.png


解决方案:

1.在特殊字符后添加其他内容
2.将单行注释改为多行注释


4.E0040

报错类型:


3409684524ac4724a0a27f5a6779e60a.png


解决方案:

验证语句中的所有属性是否都放在开头。
验证语句中所有元素名称的拼写是否正确。

另请参阅

已声明的元素名称 (Visual Basic)

特性概述 (Visual Basic)


5.E0029

报错类型:


321c55813af549bcbeab475e7ff8b0f3.jpg


解决方案:

在前面输入代码结构中缺少的表达式,在提示错误的地方附近检查一下空格,最好把那附近的空格都用英文输入法再次输入一次。


6.E0020

报错类型:


90df354a45c147ad8d4915ab7a4ab2e9.jpg


解决方案:


根据当前的错误信息,可以试试下面的方法:

右键点击当前工程名,选择Properties-General-Windows SDK Version是不是选中了你已安装的Win10版本(你可以通过运行Visual Studio Installer,选中已安装的VS,修改来查看独立组件下已勾选的Windows sdk版本).

关闭当前VS,以管理员身份运行Visual Studio Installer,选择更多-修复来修复下VS测试下。


7.C6262


报错类型:


85a4bc427ca74eb8a13f2c95180c5af1.png

解决方案:


0883a916857040499e13173af209cec0.png


8.C4244

报错类型:


e1a2947c74ed42779c993d4fb409e498.png


解决方案:


整数类型转换为更小的整数类型。 如果 type1 为 int 且 type2 小于 int,则这是警告等级 4。 否则,它是等级 3(将 __int64 类型的值分配给 unsigned int 类型的变量)。 可能发生了数据丢失。

如果收到 C4244,则应将程序更改为使用兼容类型,或向代码添加一些逻辑,以确保可能值的范围将始终与你使用的类型兼容。


9.C2065


报错类型:


cfbd3caa3c654a55877913c9b8210ebc.png


bf89198c87ab4bf89b323fcf08aee076.png


93f08b5e60ef4700a48753ccff0c16e5.png


1452c5b5b7424c9eaedc603c9a007796.png

c98538a78c2a4d35b16baedb41c5a3ad.png

4c396202ccd04e6bbba0f8aa8d9541a0.png

cdfec2c716d1465783d5af06d322b836.png

1e74b135562744c98e4bafd0f12b0890.png

6e7c70afa0144ba085d5084c472b8cb4.png


解决方案:

1.添加上详细的头文件

2.添加缺少的右引号

在for循环内使用迭代器

4.完善预处理命令。


10.C2143

报错类型:


d2f96ef7805e4c0d8b5899bfdf53f2fb.jpg


解决方案:

加上相应的标识符和头文件即可解决。

11.LNK1168

报错类型:

LNK1168 无法打开 xxx.exe 进行写入 xxx```


解决方案:


1.Ctri + Shift + Esc 打开任务管理器,点击详细详细,找到对应的进程手动关掉。

2.方法一需要手动关闭,这挺麻烦的。能不能关闭窗口后,自动把这个程序关闭呢?在菜单中的工具 -> 选项, 打开如下设置对话框,在调试分类下,有一项调试停止时自动关闭控制台,把它选上。


12.C2146

报错类型:


dad35cf4c52b41b780011212cc66477a.jpg


解决方案:

生成->清理解决方案->重新生成解决方案OK

13.C2069

报错类型:


727f56d7da744262985bfea3829e1a7a.png


使用正确的格式转换符

14.C3861

报错类型:


ab64cab9d58f4a469c612658eaf8555f.jpg


解决方案:

在自定义的头文件中加上去即可解决该报错。

15.E0127

报错类型:


image.jpeg


解决方案:

因为在16行 至19行间缺少语句,如果没有需要执行的语句,可以输入 ‘;’ 。

或者将第16行 和 19行语句归并为一句:if(cnt > val) {while()… }即可解决该报错。


16.C2181

报错类型:



3d47ec2bfe1145a3bd57caf3aa9a500f.jpg


解决方案:

if后面多了分号,导致if实际上为空,下面大括号内实际上是一个代码块,而不是if的结构体,所以把if后面的分号删除即可解决。


17.C2466

报错类型:

``c

error C2466: cannot allocate an array of constant size 0`


解决方案:

错误提示比较明确,n 应该是常量表达式,修改为常量即可解决。

18.C2057

报错类型:


9fd51e4943ac42d199185375a2d621f2.png

解决方案:


95ff60e43eec4bad96af04a9000999a0.png


应输入常量表达式,上下文要求输入常数表达式,即其值在编译时已知的表达式。

编译器在编译时必须知道类型的大小,以便为该类型的实例分配空间。

结语

创作不易,求三连,谢谢!!
诸君,共勉!!


相关文章
|
网络协议 编译器 C语言
Visual Studio 2022 中解决使用scanf报错的方法(一劳永逸)
宝子们好呀!在上一篇文章中教大家任何安装完成Visual Studio 2022,还没有安装的朋友们可以到这里来看一下呀:Visual Studio 2022下载安装教程 安装完成后,很多新手小白在使用Visual Studio 2022编译器的过程中使用到scanf后会出现报错的情况,也不知道如果改正,所以今天我就来给大家分享解决这个问题的办法。
1024 0
|
编译器 C语言 C++
visual studio的安装及scanf报错的解决
visual studio的安装及scanf报错的解决
837 0
|
编译器 C语言 C++
visual studio的安装及scanf报错的解决
visual studio的安装及scanf报错的解决
374 0
|
编译器 C语言 C++
Visual Studio 2019 解决scanf函数报错问题
Visual Studio 2019 解决scanf函数报错问题 系列文章 第一篇:Visual Studio 2019 详细安装教程(图文版) 第二篇:Visual Studio 2019 实用功能设置(背景颜色,代码颜色及行号设置) 第三篇:Visual Studio 2019 代码调试技巧 第四篇:Visual Studio 2019 解决scanf 警告问题
579 0
|
C++
【错误记录】安装 Visual Studio 2013 中文语言包报错 ( 需要 Microsoft Visual Studio Test Agent , 但此计算机上并为安装它 )
【错误记录】安装 Visual Studio 2013 中文语言包报错 ( 需要 Microsoft Visual Studio Test Agent , 但此计算机上并为安装它 )
621 1
【错误记录】安装 Visual Studio 2013 中文语言包报错 ( 需要 Microsoft Visual Studio Test Agent , 但此计算机上并为安装它 )
|
安全 编译器 C语言
Visual Studio 2022 中使用scanf报错的解决方法(一次性解决)
Visual Studio 2022 中使用scanf报错的解决方法(一次性解决)
1646 0
|
安全 编译器 程序员
【C语言】一次性解决visual studio中scanf函数不安全报错问题
【C语言】一次性解决visual studio中scanf函数不安全报错问题
2145 0
【C语言】一次性解决visual studio中scanf函数不安全报错问题
|
编译器 C语言
解决C语言中Visual Studio 编译器scanf()、strcpy()函数报错问题
在C语言的学习中,使用Visual Studio 2019编译器中的scanf()、strcpy()函数和一些数组里的函数会报错,这是编译器预处理没有设置好,下面看一下如何设置。
1072 0
解决C语言中Visual Studio 编译器scanf()、strcpy()函数报错问题
|
C语言 C++
C语言----Visual Studio 2017中使用scanf报错的解决办法
C语言----Visual Studio 2017中使用scanf报错的解决办法
520 0
C语言----Visual Studio 2017中使用scanf报错的解决办法
|
C++ Windows
【错误记录】Visual Studio 编译 C++ 代码报错 ( To disable deprecation, use _CRT_SECURE_NO_WARNINGS. )
【错误记录】Visual Studio 编译 C++ 代码报错 ( To disable deprecation, use _CRT_SECURE_NO_WARNINGS. )
1128 0
【错误记录】Visual Studio 编译 C++ 代码报错 ( To disable deprecation, use _CRT_SECURE_NO_WARNINGS. )