내가 마킹한 부분 잘 보면
템플릿 클래스이고 Test_fn에서 인자로 반환명 void 파라미터 없는 함수 포인터가
넘어올 것이고 밑에 ()로 호출해줌 따라서 무조건 함수 포인터를 인자로 받겠다고 대못
박아둔거임 T의 기본값을 함수 포인터로 해준다한들
파라미터로 넘어가는 값이 변경이 될 수 있기 때문에
처음에 템플릿 int로 해뒀기 때문에 저기서도 템플릿 선언을 안하면
해당 조건이 성립이 안되서 에러가 뜸
따라서 해당 함수엔 기본 디폴트로 지정해준 타입이 아닌
다른 타입을 주겠다고 못을 박아둬야됨
아 그리고 std::function 타입에 람다 넣을 수 있음
마찬가지로 void 포인터에도 넣을 수 있음
면접 질문이니 꼭 외워두자 ^^
capturing lambda는 함수 포인터에 못 넣음
Template Specialization을 얘기하려는 거 맞지?
뭔 소리하는거냐
프갤로