Pazīmes
Mēģinot paziņot variadic funkciju veidni kā draugam klases veidni, C++ kompilators atgriež kļūdas ziņojumu, nevis akceptēti kodu. Piemēram, ja jums ir šāds paziņojums:
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{};
};
Var tikt parādīts šāds kļūdas ziņojums:
kļūda C2783: "void f (< tipi … > C, < U > B)": varētu uzzināt nav veidnes arguments "U"
Iemesls
Iemesls ir, C++ kompilators nevar atbilst neesamības funkciju draugam esošo paziņojumu.
Risinājums
Šis atjauninājums ir pieejams no Microsoft lejupielādes centra.
Microsoft lejupielādes centra
Lai iegūtu papildinformāciju par to, kā lejupielādēt Microsoft atbalsta failus, noklikšķiniet uz šī raksta numura un lasiet Microsoft zināšanu bāzes rakstu:
119591 Kā iegūt Microsoft atbalsta failus no tiešsaistes pakalpojumiem
Microsoft ir skenējusi šo failu, nav vīrusu. Korporācija Microsoft izmantoja visjaunāko vīrusu noteikšanas programmatūru, kas bija pieejama faila izlikšanas datumā. Fails ir saglabāts serveros ar paaugstinātu drošību; tas palīdz aizsargāt failu no nesankcionētu izmaiņu veikšanas.
Priekšnosacījumi
Šis labojumfails ir nepieciešams Visual Studio 2015 atjauninājums 3.
Informācija par restartēšanu
Iespējams, pēc šī labojumfaila lietošanas jārestartē dators.
Aizstāšanas informācija
Šis labojumfails neaizstāj nevienu iepriekš izlaistu labojumfailu.
Informācija par failu
Šī labojumfaila versijai angļu valodā ir faila atribūti (vai jaunāki faila atribūti) Šajā tabulā sniegtie. Šo failu datumi un laiki ir norādīti atbilstoši universālajam koordinētajam laikam (UTC). Skatot faila informāciju, tā tiek pārvērsta atbilstoši vietējam laikam. Lai noskaidrotu atšķirību starp UTC un vietējo laiku, izmantojiet vadības paneļa vienuma Datums un laiks cilni Laika josla.
Faila nosaukums |
Faila versija |
Faila lielums |
Datums |
Laiks |
Platformas |
VC14-KB4096429.exe |
14.0.24240 |
19,177,304 |
04/19/2018 |
02:32 AM |
X86 |
Risinājums
Lai novērstu šo problēmu, nav paziņot variadic funkciju veidni kā draugam klases veidni.