我正在尝试在代码块中构建一个cpp程序,其中包含graphics.h文件。
但是我得到了
warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
initgraph(&gd, &gm, "");
警告被视为错误:我已修改所有链接器设置以在代码块中包含graphics.h。
initgraph(&gd, &gm, "");
代码块显示:
=== Build failed: 1 error(s), 1 warning(s) (0 minute(s), 0 second(s)) ===
最佳答案
问题是现在的 C++ const
限定所有字符串文字,这与 C 和标准前的 C++ 不同。 TC++ 和 Borland BGI 是来自标准之前的时代,所以它不能用标准 C++ 干净地编译。
最佳解决方法:
char empty[] = "";
initgraph(&gd, &gm, empty);
快速而肮脏的解决方法:
initgraph(&gd, &gm, (char*)"");
您可能还想问自己为什么要使用为 MS DOS 编写的已有 30 年历史的过时库。
关于c++ - Codeblocks 16.01 中警告被视为错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57370952/