当我使用lint编译我的程序时,它会给出lint警告。
printf("[Line:%d] at [Func:%s] failed to detect device\n"
, __LINE__, __func__);
对于此打印消息,我收到以下错误
Warning 560: argument no. 3 should be a pointer
任何人都可以帮助我吗?
答案 0 :(得分:1)
您的原始代码(__func__
)是正确的;棉绒警告是错误的。
__func__
是" C99"的特征,是1999年C标准的修订版。我无法确定这一点,因为FlexeLint是非常昂贵的专有软件,它们甚至不允许您免费阅读完整的手册,但我强烈怀疑它默认使用较旧的C89标准。应该有一个命令行选项或将其置于C99模式,并且在该模式下,您的原始代码应该被接受而无需投诉。