Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
条件が満たされない場合でも、警告があります。例えば:
if ( false ) pthread_cond_broadcast(0);
次の g++ 警告が表示されます。
warning: null argument where non-null required (argument 1)
それを避ける方法はありますか?これは正常ですか?ありがとう
お使いのシステムでは、GCCのwith属性<pthread.h>を次のように宣言している場合があります。pthread_cond_broadcastnonnull
<pthread.h>
pthread_cond_broadcast
nonnull
int pthread_cond_broadcast(pthread_cond_t *cond) __attribute__((nonnull));
いずれにせよpthread_cond_broadcast、null ポインター (NULL、0、nullptr) は受け入れません。
これは関数のようなマクロから展開されていると思いますか? その場合は、代わりにインライン関数を使用でき、警告は消えます。