Перейти до основного
Підтримка
Вхід
Вхід за допомогою облікового запису Microsoft
Увійдіть або створіть обліковий запис.
Вітаємо,
Виберіть інший обліковий запис.
У вас є кілька облікових записів
Виберіть обліковий запис, за допомогою якого потрібно ввійти.

Причини

Під час спроби оголосити 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. Ваш ІТ-адміністратор зможе збирати ці дані. Декларація про конфіденційність.

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

×