编译器抱怨以下一行。
char* args[] = {"/bin/bla.py", "-h"};
错误是:
deprecated conversion from string constant to 'char*'
我正在使用-Werror=write-strings
进行编译,所以我知道如何停止此错误;
但我希望看到我做错了什么以及如何阻止警告?
谢谢,
答案 0 :(得分:8)
更改为char const *args[]
。如果您不打算更改此表中的字符串,请使用
char const *const args[] = { ....
write-strings
错误表示您的代码出错。您的代码是合法的但不好的做法。这是不好的做法,因为字符串文字包含const char
,因此写入它们将是未定义的行为。使指针指向const char
s意味着如果您尝试写入它们,则会收到编译器消息。