使用vscode遇到的问题总结
文章目录
1.终端中文显示乱码问题
解决方法一:
在程序最开始加入以下代码(主函数main下面第一句):
system("chcp 65001"); /* cmd chcp 命令切换字符编码为 utf-8 以显示中文 */
此方法在给string类型赋予汉字时终端显示不出来!!!!这个问题困扰了我很久才发现
上述问题解决办法:可以将vscode中默认编码改为gbk,原来默认为UTF-8。然后将代码中的中文重新输入即可,还好发现的早没有很多汉字,啧啧。
扣代码中遇到一个很有意思的事情,这里代码中的汉字在终端显示为乱码,但是输入和输出的汉字均正常,目前还不知道为什么…
解决方法二:
将vscode右下角编码方式进行改变,
点击UTF-8然后选择通过编码重新打开将其修改为GBK
2.undefined reference to `WinMain’
原因:主函数 int main(){
}未命名正确!
3.‘cout不明确’
解决方法:删掉using namespace std;保存一下,然后重写一下using namespace std;至于为什么?咱也搞不懂。
4.Error:redefinition of class xxx
一般出现错误 redefinition of class xxx 同时也会有错误 previous definition of class xxx
查了查网上说是出现了重复定义类,但我代码里并没有重复定义的类,或者说原因是在该类定义的头文件(.h)中没有使用 #ifndef,#define 和 #endif 来进行保护,也就是缺少了防止类被多次包含的宏;
解决方法:添加防止被多次包含的宏,
#ifndef _BASESMOOTHINGALGORITHM_H_
#define _BASESMOOTHINGALGORITHM_H_
#endif
5.vscode无法识别中文路径问题
这个方法的思路和以前的解决办法类同,当VS禁止用中文命名exe时,我们就固定一个英文名(runner.exe、run.exe、a.exe等等)。那现在有不能用中文路径了,那就固定一个英文路径。和老方法一样,需要改动task.json与lauch.json。具体改发如下:
将执行文件的名称修改为一个固定的英文名,每次执行都会替代上一个执行文件。