Re: signed/unsigned mismatch
От: wils0n www.atzone.org
Дата: 20.08.08 11:52
Оценка: 2 (1)
Здравствуйте, igna, Вы писали:

I>template <class CONT, class FI>

I>bool my_copy(CONT const& source, FI first, FI last)
I>{
I> if (source.size() > last — first) // VC++ 9.0 — warning C4018: '>' : signed/unsigned mismatch
I> return false;
I> copy(source.begin(), source.end(), first);
I> return true;
I>}
[/ccode]

на сколько я понимаю, по логике программы всё корректно, напрягает только варнинг, возникший из-за оператора вычитания. А если его заменить на сложение?
if (source.size() + first > last) // так нормально?
    return false;
gcc 4.2
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.