Функция вариального шаблона не выводит правильный тип аргумента шаблонаC++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Функция вариального шаблона не выводит правильный тип аргумента шаблона

Сообщение Anonymous »

У меня есть функция шаблона с переменными аргументами, которые должны взять на себя аргумент о типе и возвращать результат долгого такого типа (т.е. длинный для Int, Double for Float, int для короткого ...). Когда я предоставляю тип Char, char типа аргумента TS всегда оценивается как Const int & и возвращает неожиданные результаты, не оценивая подписанный ChAR. Мне нужен способ обеспечить соблюдение типа TS к типу t. < /P>

Код: Выделить всё

template  R ssum(const Ts&... args)
{
return (R(args) + ...);
}
< /code>
Функция использует определение некоторого типа длинного размера предоставленного типа: < /p>
template  struct long_t {};
template  struct long_t { using t = short; };
template  struct long_t { using t = wchar_t; };
< /code>
Вот код для проверки функции: < /p>
int main()
{
long_t::t sx = ssum(255, 255, 255);
long_t::t usx = ssum(255, 255, 255);
cout 

Подробнее здесь: [url]https://stackoverflow.com/questions/79766674/variadic-template-function-doesnt-infer-the-correct-type-of-the-template-argume[/url]
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»