C4211:使用了非标准扩展:将extern重新定义为static



我目前正在从源代码中消除一些编译器警告。我有一个带有以下函数签名的函数,我得到了C4211警告。

static void setBits(const std::vector<bool>& flags, std::vector<Results::Bits>& bits, int index, int errors)

警告说

C4211: Nonstandard extension used : redefined extern to static

发出此警告的原因是什么?我使用的是VC2003编译器。老实说,我无法从我的互联网研究和MSDN文档中找到原因。我在其他项目中也有类似的功能,在那里我根本没有得到警告。

我在linting过程中遇到了类似的错误。

似乎您已将函数定义为静态
然而,它的声明说它是一个外部。(默认情况下为Extern)。

尝试在源代码中grep/搜索函数名并修复声明。

有关更多信息,请查看此链接。

最新更新