关于“VS2022无法打开头文件<graphics.h>” 以及编译时 “没有与参数列表匹配的重载函数实例”俩个问题的解决思路

前言: 今天无聊没什么事干,突然看见一条视频梦回20年前杀马特横行的年代,炫酷而又土嗨的灯光闪烁,我又想了想之前写扫雷小游戏的时候,有的人写的游戏界面非常的炫酷,各种颜色都有,抱着没事没事干试一下的态度,我打开了 VS2022 想着试一下怎么做一个炫酷的灯光闪烁的效果,结果刚写完第一行代码就报错了,他提示我无法打开源文件 "graphics.h",但是其他的源文件比如stdio.h , string.h都可以。


目录

一.无法打开头文件

错误情况

解决方法

二.编译时没有与参数列表匹配的重载函数实例

错误情况

错误原因

解决方法

完整代码

运行效果


一.无法打开头文件 <graphics.h>

错误情况

首先先打开自己电脑上的VS编译器的目录,如果你和下图和笔者情况一样的话,那就好解决了,这里缺失了俩个文件缺失easyx.hgraphics.h 这两个源文件

解决方法

我们打开下面的这个网站,根据自己的版本进行下载就行了

EasyX 2023大暑版 (2023-7-23 更新) - EasyX

下载完成后,根据指引下载,然后我们打开刚才的 include 文件夹查看

我们就发现缺失的俩个文件都下载好了,这个时候再打开 VS编译器 就不会报错了

二.编译时提示没有与参数列表匹配的重载函数实例

错误情况

大概就是下面这个情况

错误原因

这里的错误原因是因为字符串的实际存储有多种编码格式,如果默认的编码格式和实际执行的平台不相符就会发生错误

解决方法

以 VS2022 为例,点击项目>高级>字符集,然后更改为使用多字节字符集

然后代码就可以无障碍运行了


完整代码

cpp 复制代码
#include<graphics.h>
#include<stdio.h>
#include<time.h>

int main()
{
	initgraph(640, 480);
	char str[] = { "I can do this all day" };
	srand((unsigned int)time(NULL));
	int x = 10;
	while (1)
	{
		settextcolor(RGB(rand() % 256, rand() % 256, rand() % 256));
		settextstyle(x, 0, "楷体");
		outtextxy(10, 10, str);
		Sleep(200);
		x++;
	}

	system("pause");
	closegraph();

	return 0;
}

运行效果

整个句子越来越大,越来越大,并且不断的变换颜色,非常的炫酷,有兴趣的小伙伴们可以去试一试

以上就是本次分享的全部内容了,如有错误,欢迎积极指出

相关推荐
saltymilk12 小时前
C++ 模板参数推导问题小记(模板类的模板构造函数)
c++·模板元编程
感哥12 小时前
C++ lambda 匿名函数
c++
沐怡旸18 小时前
【底层机制】std::unique_ptr 解决的痛点?是什么?如何实现?怎么正确使用?
c++·面试
感哥19 小时前
C++ 内存管理
c++
博笙困了1 天前
AcWing学习——双指针算法
c++·算法
感哥1 天前
C++ 指针和引用
c++
感哥1 天前
C++ 多态
c++
沐怡旸2 天前
【底层机制】std::string 解决的痛点?是什么?怎么实现的?怎么正确用?
c++·面试
River4162 天前
Javer 学 c++(十三):引用篇
c++·后端
感哥2 天前
C++ std::set
c++