Simptomi
Kad pokušate objaviti predložak za funkciju variadic kao prijatelj klase predloška, C++ prevodilački program će vratiti poruku o grešci umesto da je prihvati šifru. Na primer, kada to uradite sledeće deklaraciju:
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{};
};
Možete dobiti sljedeću poruku o pogrešci:
Greška C2783: „praznina f (C < tipove... >, B < U >)”: ne dedukovatii argument predložak za „U”
Uzrok
Uzrok je da je C++ prevodilački program ravne deklaraciju funkcije prijatelju da je postojeći deklaraciju.
Rezolucija
Ova ispravka je dostupna na lokaciji Microsoft Download Center.
Microsoft Download Center
Za više informacija o načinu preuzimanja Microsoft datoteka za podršku, kliknite na sledeći broj članka da biste videli članak u Microsoft bazi znanja:
119591 Kako nabaviti Microsoft datoteke podrške kroz usluge na mreži
Microsoft je skenirala ovu datoteku protiv virusa. Microsoft je koristio najnoviji softver za otkrivanje virusa koji je bio dostupan na datum objavljivanja datoteke. Datoteka se čuva na serverima sa poboljšanom bezbednošću koji sprečavaju neovlaštene izmjene datoteke.
Preduslovi
Ova hitna ispravka zahteva Visual Studio 2015 Update 3.
Informacije o ponovnom pokretanju
Ti možda morati ponovo pokrenuti računalo nakon što primijenite ovaj hitni popravak.
Informacije o zamjeni
Ovaj prilagodbeni popravak ne zamjenjuje bilo koji prethodno objavljenu hitnu ispravku.
Informacije o datoteci
Verzija ove hitne ispravke na engleskom jeziku ima atribute datoteke (ili novije atribute datoteke) koji su navedeni u tabeli. Datumi i vremena ovih datoteka navedeni su u koordiniranom univerzalnom vremenu (UTC). Kada pregledate informacije o datoteci, to je pretvaraju u lokalno vrijeme. Da biste saznali razliku između UTC i lokalnog vremena, koristite karticu " Vremenska zona " u stavci " datum i vreme " na kontrolnoj tabli.
Ime datoteke |
Verzija datoteke |
Veličina datoteke |
Datum |
Vremena |
Platforma |
VC14-KB4096429.exe |
14.0.24240 |
19,177,304 |
04/19/2018 |
02:32 AM |
X86 |
Zaobilazno rješenje
Da biste rešili ovaj problem, ne proglasi za variadic funkciju predložak kao prijatelj klase predloška.