gpt4 book ai didi

C++ 图形 initgraph 错误(语法或丢失文件缺陷?)

转载 作者:太空狗 更新时间:2023-10-29 23:12:56 25 4
gpt4 key购买 nike

[已解决]

我在 Win10 上使用 CodeBlocks (C++)。我尝试创建一个简单的图形程序 - 我下载了某个图形包(graphics.h 和其他两个与 BGI 相关的文件 - 我在设置等中添加了 lib)。我试过这个程序,但标记的行似乎有问题。我以我认为正确的方式或至少部分地从 Pascal 移植了这个(作为我的老师 - 是的,它是关于大学的 - 只向我们展示了 Pascal 程序)。问题肯定出在指针上(解决后编辑:不是!检查我的答案)。如果需要,我会提供更多详细信息。

问题:我哪里做错了,如何改正(写什么,加什么,删什么)才能正常工作?如果代码没有错误,但我需要一些图形文件才能在我的编译器上运行,这些文件是什么,从哪里获取它们以及将它们放在哪里?

错误(不完全是,现在是“警告”):

deprecated conversion from string constant to 'char*' [-Wwrite-strings]

(见下面的代码)

请阅读:如果我的程序有一个固定版本,我会非常感激。引用文献是无用的,所以除非你真的想帮助我(谢谢!),否则请离开此页面。我唯一相关的能力是比较一个程序的两个版本,这两个版本的目的是做同样的事情,但一个有错误(或更多)。

代码(已更新!):

#include<iostream>
#include<graphics.h>
#include<conio.h>
using namespace std;
int main(){
int gr,xmax,ymax,r;
int gm,gd;
gd=DETECT;
gm=0;
initgraph(&gd, gm, "C:\\TC\\BGI"); /*edit(solved): followed the tutorial linked in my answer; not a directory in my PC.*/
gr=graphresult();
if(gr!=grOk) cout<<"Error!";
else {xmax=getmaxx();
ymax=getmaxy();
cout<<"Resol.: "<<xmax+1<<"x"<<ymax+1;}
setcolor(7);rectangle(0,0,xmax,ymax);setcolor(5);line(0,0,xmax,ymax);line(0,ymax,xmax,0);setcolor(3);
for(r=(ymax+1)/2;r>=0;r--) circle((xmax+1)/2,(ymax+1)/2,r);
getch();
closegraph();
return 0;
}

graphics.h 源代码和指南:http://www.codewithc.com/how-to-include-graphics-h-in-codeblocks/

最佳答案

您会收到一个错误,因为您尝试获取未存储在内存中的地址。

' ' 之类的字符字面量基本上会被编译器翻译成整数,您不会期望例如&32(ASCII code 代表空格)可以工作吗?

如果您要传递字符串,请使用双引号 并且不要使用地址运算符,如""

关于C++ 图形 initgraph 错误(语法或丢失文件缺陷?),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42802604/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com