即使条件永远不满足,我也会收到警告。例如:
if ( false )
pthread_cond_broadcast(0);
给了我以下g ++警告:
warning: null argument where non-null required (argument 1)
有没有办法可以避免这种情况?这是正常的吗? 感谢
答案 0 :(得分:0)
在您的系统中,<pthread.h>
可能会跟随GCC pthread_cond_broadcast
的{{1}}声明。
int pthread_cond_broadcast(pthread_cond_t *cond) __attribute__((nonnull));
无论如何pthread_cond_broadcast
不接受空指针(NULL,0,nullptr)。
答案 1 :(得分:0)
我认为这是从类似函数的宏扩展的?如果是这种情况,您可以使用内联函数,警告将消失。