Причини

Під час спроби оголосити variadic шаблон функції, як один клас шаблон, C++ компілятор повернутися повідомлення про помилку, а не приймає код. Наприклад, коли ви таке оголошення:

template<typename T>
struct B { };

template<typename... Types>
struct C { };

template<typename... Types, typename U>
void f(C<Types...>, B<U>)
{
}

template<typename T>
class A {
	template<typename... Types, typename U>
	friend void f(C<Types...>, B<U>);
};

int main()
{
    f(C<int>{}, B<int>{});
    A<int> a{};
};

Може з'явитися таке повідомлення про помилку:

Помилка C2783: 'недійсним f (C < типи.... >, B < U >)': може не вивести аргументом шаблон 'U'

Причина

Причиною є в тому, що компілятор C++ не відповідають функцію одного з наявних Декларація декларації.

Вирішення

Це оновлення, доступне з веб-сайту Центру завантажень Microsoft.

Центр завантажень Microsoft

Щоб отримати додаткові відомості про завантаження файлів підтримки Microsoft, клацніть номер статті в базі знань Microsoft:

119591 Як отримати файли технічної підтримки Microsoft від онлайнових служб

Microsoft перевірив цей файл на наявність вірусів. Корпорація Майкрософт використала останню версію програмного забезпечення для виявлення вірусів, що доступне на час публікації файлу. Файл зберігається на добре захищених серверах, які запобігають внесенню до файлу будь-яких несанкціонованих змін.

Попередні вимоги

Це виправлення, потрібно Visual Studio 2015 оновлення 3.

Відомості про перезавантаження

Можливо, доведеться перезавантажити комп'ютер, після застосування цього виправлення.

Відомості про заміну

Це виправлення не замінює будь-які попередні випуски виправлень.

Відомості про файли

Англійська версія цього виправлення на комп'ютері має атрибути файлів (або новіші атрибути файлів), подані в нижченаведеній таблиці. Значення дати й часу для цих файлів наведено за всесвітнім координованим часом (UTC). Переглядаючи відомості про файл, час конвертується у місцевий час. Щоб визначити різницю між UTC і місцевим часом, використайте вкладку Часовий пояс у Дата й час на панелі керування.

Ім'я файлу

Версія файлу

Розмір файлу

Дата

Час

Платформа

VC14-KB4096429.exe

14.0.24240

19,177,304

04/19/2018

02:32 AM

X86

Виправлення помилок

Щоб вирішити цю проблему, не оголосити на variadic функції шаблон як шаблон клас друга.

Потрібна додаткова довідка?

Отримуйте нові функції раніше за інших
Приєднатися до Microsoft оцінювачів

Чи були ці відомості корисні?

Наскільки ви задоволені якістю перекладу?

Що вплинуло на ваші враження?

Маєте ще один відгук? (Необов'язково)

Дякуємо за ваш відгук!

×