ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

C图形初始化图形错误(语法或文件丢失缺陷?)

2019-10-11 05:06:59  阅读:360  来源: 互联网

标签:c deprecated graphics codeblocks bgi


[解决了]

我在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,deprecated,graphics,codeblocks,bgi
来源: https://codeday.me/bug/20191011/1890074.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有