Не находится соответствующий конструктор шаблона класса

template<typename Func >
class SC
{
public:
    SC(Func* func) {};
};

BOOL(WINAPI * beep)(_In_ DWORD dwFreq, _In_ DWORD dwDuration) = &Beep;
SC<std::remove_reference_t<decltype(beep)>> ad(beep);//ошибка- отсутвствуют экземпляры конструктора
SC<std::remove_reference_t<decltype(*beep)>> ad(beep);//OK

Почему так происходит, ведь func в конструкторе будет иметь такой же тип как и beep.


Ответы (0 шт):