В моем коде у меня есть функция:
template<typename T>
void foo (T*); // make sure that 'foo()' is passed only pointers
Теперь в новой реализации я передаю также умный указатель (что-то вроде shared_ptr<>
. Поэтому я изменил сигнатуру функции на
template<typename T>
void foo (T); // pointers or smart-pointers
Код должен работать нормально. Однако есть ли какой-то побочный эффект, которого мне не хватает?