Это мысль.Я уверен, что + 90% этих предупреждений можно игнорировать.У меня была похожая проблема и много предупреждений о чем-то вроде этого:
sumeType tab[10];
int items = std::size(tab);
// or
functionWhichExeptsInt(std::size(tab))
В приведенном выше примере, поскольку std::size
- это constexpr
компилятор, он может просто обнаружить, что значение размера достаточно мало, чтобы поместиться в int
поэтому он не должен сообщать о конфликте, но это так.
Проблема в том, что могут быть случаи, когда это предупреждение может обнаружить реальную проблему.Таким образом, отключение этого предупреждения не является хорошим подходом.
В моем проекте мы решили продолжать вражды, но не угрожаем им как ошибкой:
- мы рассмотрели их быстро, есличто-то могло быть исправлено минимальным изменением, которое мы сделали, чтобы
- , когда требуемое изменение было более сложным, мы просто оценили потенциальную опасность ошибки (в конце концов мы изменили приложение с 32 на 64 бита, чтобы получить доступ к большему количеству памяти),Если мы не видим риска, мы просто игнорируем его сейчас
- мы исправляем оставшиеся предупреждения по мере изменения кода и не спешим исправлять их все сейчас.
Это большекак психическая проблема: «Могу ли я игнорировать эти +100 предупреждение сейчас?».Я также люблю код без предупреждений, но иногда лучше жить с ними.
ИМО, это более безопасный подход.