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