面对皮棉警告560:参数号。 3应该是一个指针

时间:2017-04-09 13:24:59

标签: c lint

当我使用lint编译我的程序时,它会给出lint警告。

printf("[Line:%d] at [Func:%s] failed to detect device\n"
                                        , __LINE__, __func__);

对于此打印消息,我收到以下错误

Warning 560: argument no. 3 should be a pointer

任何人都可以帮助我吗?

1 个答案:

答案 0 :(得分:1)

您的原始代码(__func__)是正确的;棉绒警告是错误的。

__func__是" C99"的特征,是1999年C标准的修订版。我无法确定这一点,因为FlexeLint是非常昂贵的专有软件,它们甚至不允许您免费阅读完整的手册,但我强烈怀疑它默认使用较旧的C89标准。应该有一个命令行选项或将其置于C99模式,并且在该模式下,您的原始代码应该被接受而无需投诉。