gpt4 book ai didi

c++ - 如何在不收到编译器警告的情况下初始化 char* args[]

转载 作者:太空狗 更新时间:2023-10-29 23:51:07 26 4
gpt4 key购买 nike

编译器在以下行报错。

char* args[] = {"/bin/bla.py", "-h"};

错误是:

deprecated conversion from string constant to 'char*'

我正在使用 -Werror=write-strings 进行编译,所以我知道如何停止出现此错误;但我想看看我做错了什么以及如何防止警告?

谢谢,

最佳答案

更改为 char const *args[]。如果您不打算更改此表中的字符串,请使用

char const *const args[] = { ....

write-strings error 的意思是给你的代码一个错误。您的代码是合法的但不好的做法。这是不好的做法,因为字符串文字包含 const chars ,因此写入它们将是未定义的行为。使指针指向 const char 意味着如果您尝试写入它们,您会收到一条编译器消息。

关于c++ - 如何在不收到编译器警告的情况下初始化 char* args[],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23842213/

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