Как определить тип переменной переданной в аргумент функции
У меня есть шаблонная функция которая считает длинну строки. Но проблема в том что иногда я передаю в неё например строку типа 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);
}
}