我厌倦了看到警告
“'索引'声明影响全球宣言”
index在string.h中定义。我不认为它是我所使用的任何东西所必需的,我真的不想将所有本地变量从索引更改为其他东西。
任何人都知道如何(通过什么路径)找到string.h的方法?是否有可能阻止它被包括在内?
答案 0 :(得分:2)
index
函数实际上是在/usr/include/strings.h
中声明的,并且从POSIX问题7开始被标记为已删除。您可以通过使用编译器标志{{1}设置相应的POSIX版本来隐藏其声明。 }。这还会隐藏问题7中弃用的其他功能,例如-D_POSIX_C_SOURCE=200809
和bcopy
。
答案 1 :(得分:0)
我发现-Wshadow
非常很烦人且很少有用。即使您解决了这种情况,将来也一定会有其他情况,特别是因为系统标题可能会定义非标准函数和您无意中影响的变量。
就个人而言,我只是禁用警告,并手动确保没有变量,函数等被命名为与正在使用的内容相同。