Logga in med Microsoft
Logga in eller skapa ett konto.
Hej,
Välj ett annat konto.
Du har flera konton
Välj det konto som du vill logga in med.

Symptom

Vid försök att deklarera en variadic funktion-mall som en vän av en klassmall returnerar C++-kompilatorn ett felmeddelande i stället för att acceptera koden. Till exempel när du gör följande deklaration:

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{};
};

Du kan få följande felmeddelande:

fel C2783: 'void f (C < typer... >, < U > för B)': gick inte att härleda mall argument för ”U”

Orsak

Orsaken är att C++-kompilatorn inte matchar försäkran om vän-funktionen på en befintlig deklaration.

Lösning

Uppdateringen kan hämtas från Microsoft Download Center.

Microsoft Download Center

För mer information om hur du hämtar supportfiler från Microsoft klickar du på följande artikelnummer och läser artikeln i Microsoft Knowledge Base:

119591 Hur du hämtar Microsoft-supportfiler från onlinetjänster

Microsoft har genomsökt denna fil efter virus. Microsoft använde det mest aktuella antivirusprogram som var tillgängligt när filen lades upp. Filen är sparad på servrar med utökad säkerhet som hjälper till att förhindra otillåtna ändringar av den.

Förutsättningar

Den här snabbkorrigeringen kräver Visual Studio 2015 Update 3.

Information om omstart

Du kan behöva starta om datorn när du har installerat den här snabbkorrigeringen.

Information om ersättning

Den här snabbkorrigeringen ersätter inte någon tidigare utgiven snabbkorrigering.

Filinformation

Den engelska versionen av den här snabbkorrigeringen har de filattribut (eller senare filattribut) som visas i följande tabell. Datum och tider för dessa filer anges i UTC-tid (UTC). När du visar filinformationen konverteras den till lokal tid. Använd fliken tidszon i datum och tid på Kontrollpanelen om du vill se skillnaden mellan UTC-tid och lokal tid.

Filnamn

Filversion

Storlek

Datum

Tid

Plattform

VC14-KB4096429.exe

14.0.24240

19,177,304

04/19/2018

02:32 AM

X86

Temporär lösning

Undvik det här problemet inte deklarera den variadic funktionen mall som en vän av en klassmall.

Behöver du mer hjälp?

Vill du ha fler alternativ?

Utforska prenumerationsförmåner, bläddra bland utbildningskurser, lär dig hur du skyddar din enhet med mera.

Communities hjälper dig att ställa och svara på frågor, ge feedback och få råd från experter med rika kunskaper.

Hade du nytta av den här informationen?

Hur nöjd är du med språkkvaliteten?
Vad påverkade din upplevelse?
Genom att trycka på skicka, kommer din feedback att användas för att förbättra Microsofts produkter och tjänster. IT-administratören kan samla in denna data. Sekretesspolicy.

Tack för din feedback!

×