Я недавно начал использовать переключатель компилятора -Wall в попытке улучшить качество моего кода. Он дает (правильно) предупреждение об этом маленьком фрагменте ...
int i;
for (i = start - 1; i >= 0; i--)
{
if (i >= number1.array.size())
{
one_value = 0;
}
потому что number1.array.size без знака (это метод размера в std :: vector). Поскольку тест в цикле i> = 0, я должен быть подписан, иначе он не будет работать. Кажется, у меня есть три варианта; воздерживаться от использования -Wall, игнорировать предупреждение или вводить вспомогательный элемент ...
int i;
unsigned int j;
for (i = start - 1; i >= 0; i--)
{
j = i;
if (j >= number1.array.size())
{
one_value = 0;
}
Ничто из этого не кажется особенно желательным. Можете ли вы предложить какую-либо альтернативу или дать рекомендации относительно того, что мне следует делать в этом случае?