В нашем проекте используется C++11/14, и мы хотим использовать nullptr
вместо 0
или NULL
с указателями, даже если разрешено 0
(как целочисленный литерал).
У меня есть следующий код:
int main()
{
int *ptr1 = nullptr; // #1
int *ptr2 = 0; // #2
}
Если я скомпилирую с GCC (5.3.0) и флагом -Wzero-as-null-pointer-constant
, он выдаст предупреждение в #2
, но я не могу найти аналогичный флаг в Clang. Если я скомпилирую код с Clang (3.7.1) и флагом -Weverything
, я не получу никакого предупреждения о #2
.
Итак, есть ли способ получить подобное предупреждение об этом в Clang?
!!!!!1
. - person 6502   schedule 22.01.2016!!!!!1
- это интегральное константное выражение (которое оценивается какfalse
), а не целочисленный литерал. - person Daniel   schedule 22.01.2016nullptr
. - person T.C.   schedule 22.01.2016