Здравствуйте, Yacha, Вы писали:
Y>Всем доброго времени суток!
Y>Хотелось бы разъеснить следующую ситуацию:
Y>Y>template<typename T>
Y>void foo(T t)
Y>{
Y> t = 1;
Y>}
Y>...
Y>int i = 0;
Y>int &ii = i;
Y>foo(ii);//здесь передается по значению, а хотелось бы по ссылке
Y>
Это почему ты так решил? Здесь передается по значению, а значение копируется через ссылку, но это уже детали, не имеющие к foo отношения.
Y>Я понимаю, что правильным было бы template<typename T> void foo(T& t) { t = 1; }
, но
Y>почему в первом случае T не может быть int& ?
Тут нет правильного или неправильного. Следует сделать так, как тебе нужно