当前位置: 首页 > news >正文

VS2022出现C1001内部编译器错误的情况分析

前言

今天在写类模板的时候,将声明和定义全部在.h文件中编写,但是由于一些低级失误,出现了这个报错,也是第一次遇见,花了很长时间才发现自己犯得低级失误,发出来,以防大家也发生类似的错误。

检讨

T& operator[](size_t i)
{assert((i < size()) );//很恶心的中文括号return _start[i];
}

从这里看,很容易看出来写成了中文括号,但是从vs的视角,难绷
在这里插入图片描述
不仔细去看,还真看不出来

偏偏,vs报错还很模糊,判断不出来这里发生了错误。
在这里插入图片描述

类似的情况

除了这个中文以外,还有像缺少分号单词拼写错误if else()括号中没写判断条件,等等,都会出现这个报错,友友们,在写代码的时候,别再犯我这个低级错误啦。

推测编译器为啥这样报错的原因

我们知道.h文件在预处理阶段,会在.cpp文件中展开,也就是展开头文件,那么在编译之前,.h文件不会进行语法检查,也就不会像.cpp文件那样,直接出现红色波浪线了。

补充一点

.h文件在.cpp文件展开后,只会向上查找,而不会向下查找,所以包含我们自己写的.h文件最好写在展开命名空间using namespace std;的后面,以防,在.h文件中没有包含iostream头文件 或者没有展开命名空间,而不能使用cout 等的情况

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 性能测试⼯具-——JMeter
  • 关于位结构体及位操作总结
  • 项目拆解:短视频冷门赛道—ai绘画+温馨小屋,引流变现全攻略
  • 传统CV算法——基于opencv的答题卡识别判卷系统
  • 机器学习项目——基于机器学习(RNN LSTM 高斯拟合 MLP)的锂离子电池剩余寿命预测方法研究(代码/论文)
  • python办公自动化:使用`Python-PPTX`的样式与格式
  • C++ ─── List的模拟实现
  • Datawhale X 李宏毅苹果书 AI夏令营-深度学习进阶task3:批量归一化
  • 接口请求400
  • C#面试题系列--动态更新
  • ES6中是如何实现模块化
  • 【聚星文社】AI一键生成工具素材包
  • 收藏夹里的“小网站”被误报违规不让上怎么办?如何将Chrome和Edge安装到 D 盘(含用户数据),重装系统也不会丢失收藏夹和密码?
  • 碳水化合物的摄入量笔记
  • 如何选择合适的合同比对工具以满足企业的不同需求?
  • JS中 map, filter, some, every, forEach, for in, for of 用法总结
  • 【腾讯Bugly干货分享】从0到1打造直播 App
  • Android Volley源码解析
  • Angular数据绑定机制
  • egg(89)--egg之redis的发布和订阅
  • EOS是什么
  • ES6--对象的扩展
  • Fundebug计费标准解释:事件数是如何定义的?
  • Vue UI框架库开发介绍
  • 给新手的新浪微博 SDK 集成教程【一】
  • 基于web的全景—— Pannellum小试
  • 技术攻略】php设计模式(一):简介及创建型模式
  • 如何编写一个可升级的智能合约
  • 物联网链路协议
  • 新书推荐|Windows黑客编程技术详解
  • 一文看透浏览器架构
  • 7行Python代码的人脸识别
  • 组复制官方翻译九、Group Replication Technical Details
  • #Linux(帮助手册)
  • (1)虚拟机的安装与使用,linux系统安装
  • (20)目标检测算法之YOLOv5计算预选框、详解anchor计算
  • (C#)一个最简单的链表类
  • (Redis使用系列) SpirngBoot中关于Redis的值的各种方式的存储与取出 三
  • (免费分享)基于springboot,vue疗养中心管理系统
  • (三)c52学习之旅-点亮LED灯
  • (十)Flink Table API 和 SQL 基本概念
  • (顺序)容器的好伴侣 --- 容器适配器
  • (四) 虚拟摄像头vivi体验
  • (四)c52学习之旅-流水LED灯
  • (一)u-boot-nand.bin的下载
  • (转)GCC在C语言中内嵌汇编 asm __volatile__
  • (转)Linux整合apache和tomcat构建Web服务器
  • (转载)OpenStack Hacker养成指南
  • (轉貼) 蒼井そら挑戰筋肉擂台 (Misc)
  • .h头文件 .lib动态链接库文件 .dll 动态链接库
  • .NET Framework 4.6.2改进了WPF和安全性
  • .net反混淆脱壳工具de4dot的使用
  • .NET精简框架的“无法找到资源程序集”异常释疑
  • .net连接MySQL的方法
  • .NET命名规范和开发约定