Здравствуйте, 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;