Как определить тип переменной переданной в аргумент функции

У меня есть шаблонная функция которая считает длинну строки. Но проблема в том что иногда я передаю в неё например строку типа char а иногда wchar_t и в этом проблема. Можно-ли прописать какое-то условие что-бы определять какого типа была передана переменная str и в зависимости от условия выполнять код. Что-то вроде

template<typename Type>
func(const Type* str)
{
    if(const Type* == wchar_t) {
        return lstrlen(str);
    }
    else if(const Type* == char){
        return lstrlenA(str);
    }

}

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