即使条件永远不满足,也会发出pthread_cond_broadcast警告

时间:2013-10-08 16:37:46

标签: c++ pthreads warnings

即使条件永远不满足,我也会收到警告。例如:

if ( false )
    pthread_cond_broadcast(0);

给了我以下g ++警告:

warning: null argument where non-null required (argument 1)

有没有办法可以避免这种情况?这是正常的吗? 感谢

2 个答案:

答案 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)

我认为这是从类似函数的宏扩展的?如果是这种情况,您可以使用内联函数,警告将消失。