0

条件が満たされない場合でも、警告があります。例えば:

if ( false )
    pthread_cond_broadcast(0);

次の g++ 警告が表示されます。

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

それを避ける方法はありますか?これは正常ですか?ありがとう

4

2 に答える 2

0

お使いのシステムでは、GCCのwith属性<pthread.h>を次のように宣言している場合があります。pthread_cond_broadcastnonnull

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

いずれにせよpthread_cond_broadcast、null ポインター (NULL、0、nullptr) は受け入れません。

于 2013-10-09T01:32:59.677 に答える
0

これは関数のようなマクロから展開されていると思いますか? その場合は、代わりにインライン関数を使用でき、警告は消えます。

于 2013-10-09T05:10:57.187 に答える