типа я хочу, чтобы скопировать массив (либо символ * или wchar_t *) и у меня возникли следующие функции:Проверьте, является ли символ или wchar_t во время компиляции
template<typename T>
T* doStuff(const T* str)
{
T* newArr;
if(typeid(str).name() == typeid(const wchar_t*).name())
{
newArr = wcsdup(str);
}
else if (typeid(str).name() == typeid(const char*).name())
{
newArr = strdup(str);
}
// ...do some more
}
Проблема заключается в том, что, когда я звоню функция сначала с аргументом char *, а затем с аргументом wchar_t. Я получаю ошибку времени компиляции (ошибка: никакой подходящей функции для вызова «wcsdup» И ошибки: нет соответствующей функции для вызова «strdup»).
Есть ли способ проверить время компиляции, является ли мой шаблон символом char * или wchar_t *?
работает большое спасибо! – Michael