0

即使条件从未满足,我也会收到警告。例如:

if ( false )
    pthread_cond_broadcast(0);

给了我以下 g++ 警告:

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

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

4

2 回答 2

0

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

于 2013-10-09T05:10:57.187 回答
0

在您的系统中,<pthread.h>可能有以下GCC的pthread_cond_broadcastwithnonnull属性声明。

int pthread_cond_broadcast(pthread_cond_t *cond) __attribute__((nonnull));

无论如何pthread_cond_broadcast不接受空指针(NULL,0,nullptr)。

于 2013-10-09T01:32:59.677 回答