Debug日志

令人头大的bug汇总

Posted by 谢玄xx on April 4, 2022

一些需要注意的函数

  • system(“pause”) 是调用DOS系统的暂停命令 pause 来暂停程序执行,按任意一个键后将继续执行。
  • Sleep() 是 windows.h的函数,让程序进入睡眠状态,要求参数时间毫秒,到时间后自动苏醒,程序继续执行。 例如: Sleep(2500); 休眠2500毫秒,满2.5秒后程序继续运行。

Debug是生活的一部分,没问题吧:)

Bug1:’getch’: The POSIX name for this item is deprecated.

这个问题在VS2012之前是不会当成错误的,目前这个问题有两个解决方法:

  1. 添加预处理 项目->属性->配置属性->C/C+±>预处理器->预处理器定义->编辑中添加 _CRT_SECURE_NO_DEPRECATE _CRT_NONSTDC_NO_DEPRECATE

  2. 更换函数 将getch()函数更换为_getch()函数即可

一般来说采用第一种方法,这样就不用每个函数都改成_getch()了。

Bug2:常量中有换行符

如果是从别处拷贝的代码,直接放到自己的工程目录中,直接编译会遇到类似的问题。

解决方法:把出问题的文件所有的内容拷贝到一个txt文件,删除出问题的文件,再新建一个同名的文件把之前的内容拷贝进去,重新构建就可解决该问题。

Bug3:非法的成员初始化:“speed”不是基或成员

我的解决方法:把speed放到public里。我好没本领…

Bug4:__main已在main.obj中定义

很简单,就是自己新建项目的时候,.main文件多了一个。。删掉就好了。