Požymiai
Kai bandote paskelbti variadic funkcija šabloną, kad draugas klasės šablonas, C++ kompiliatorius grįžta pateikiamas klaidos pranešimas, o ne priimant kodą. Pvz., kai jūs dėl šios deklaracijos:
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{};
};
Galite gauti tokį klaidos pranešimą:
klaida C2783: "void f (C < tipai... >, < U > B)": ne nepavyko nustatyti šablono argumentas "U"
Priežastis
Priežastis yra tai, kad C++ kompiliatorius negali prilygti draugas funkcija į esamą deklaraciją, deklaraciją.
Sprendimas
Šį naujinimą galima atsisiųsti iš "Microsoft" atsisiuntimo centro.
Microsoft Atsisiuntimo centras
Norėdami gauti daugiau informacijos, kaip atsisiųsti „Microsoft“ palaikymo failus, spustelėkite toliau esančio straipsnio numerį ir peržiūrėkite „Microsoft“ žinių bazės straipsnį:
119591 Kaip įsigyti „Microsoft“ palaikymo failus internetu
„Microsoft“ patikrino, ar šiame faile nėra virusų. „Microsoft“ naudojo naujausią virusų aptikimo programinę įrangą, kuri buvo pasiekiama failo paskelbimo dieną. Failas laikomas padidintos saugos serveriuose, siekiant užkirsti kelią neleistinam failo modifikavimui.
Būtinosios sąlygos
Šias karštąsias pataisas reikia Visual Studio 2015 naujinimas 3.
Informacija apie paleidimą iš naujo
Turite iš naujo paleisti kompiuterį, kai pritaikote šias karštąsias pataisas.
Informacija apie pakeitimą
Šios karštosios pataisos nepakeičia jokių anksčiau išleistų karštųjų pataisų.
Failo informacija
Šių karštųjų pataisų anglų k. versijos failo atributai (failo atributai) yra išvardyti toliau pateiktoje lentelėje. Datos ir laiko informacija pateikta pagal universalųjį laiką (UTC). Kai peržiūrite failo informaciją, ši informacija konvertuojama į vietos laiką. Norėdami sužinoti UTC ir vietos laiko skirtumą, naudokite valdymo skydo elemento Data ir laikas skirtuką Laiko juosta.
Failo vardas |
Failo versija |
Failo dydis |
Data |
Laikas |
Platforma |
VC14-KB4096429.exe |
14.0.24240 |
19,177,304 |
04/19/2018 |
02:32 VAL. |
X86 |
Sprendimas
Norėdami išspręsti šią problemą, ne paskelbti ir variadic funkcija šabloną kaip draugo klasės šablonas.