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

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

Сообщение Anonymous »

У меня есть функция шаблона с переменными аргументами, которая должна взять на себя аргумент типа и возвращать результат более длинного типа (то есть долго для int , Double для float>, int для короткого и т. Д.) Всегда оценивается как const int & и возвращение неожиданных результатов, не оценив подписанный char . Мне нужен способ обеспечить соблюдение типа TS для типа t .

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

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++»