【问题标题】:"Deprecated conversion from string constant to char*" when using BGI?使用 BGI 时“不推荐使用从字符串常量到 char* 的转换”?
【发布时间】:2015-08-01 06:19:30
【问题描述】:

我最近安装了 code::blocks 13.12 并添加了 BGI 图形(我知道它太旧了;项目需要它)。但是像这样一个简单的 C++ 图形程序 -

#include <graphics.h>
#include <conio.h>

int main()
{
    int gd=DETECT, gm;
    initgraph(&gd, &gm, "C:\\TC\\BGI");

    circle(150,150,40);

    getch();
    closegraph();    
}

给我一​​个警告-“不推荐使用从字符串常量到 char* [-Wwrite-strings] 的转换”

程序也不执行;而是出现一个弹出窗口,提示“test.exe 已停止工作”

我执行了在线视频中提到的所有步骤,以在 c::b 中添加图形 (例如https://www.youtube.com/watch?v=YHmwwwPxpV8

我注意到我的 C: 驱动器没有 TC 文件夹。这有责任吗?如果是,我从哪里获得所需的文件?

最后一件事 - 所有没有图形的程序都能顺利运行。

【问题讨论】:

  • 请检查this Stack Overflow question,看看修复您已弃用的转换错误是否能修复代码的更多问题。
  • 使用 initgraph 函数的第 7 行警告指出该行我的代码中是否有任何错误?

标签: c codeblocks bgi


【解决方案1】:

char driver[]="C:\\TC\\BGI"; "deprecated conversion from string constant to char* [-Wwrite-strings]" 的解决方案。 将其用作
initgraph(&amp;gd,&amp;gm,driver);

【讨论】:

    猜你喜欢
    • 2016-05-30
    • 1970-01-01
    • 1970-01-01
    • 2010-12-04
    • 2013-05-21
    • 2012-11-21
    • 1970-01-01
    • 2016-11-25
    • 2011-12-28
    相关资源
    最近更新 更多