C++ kompilatora kļūda, jūs kombinācija variadic veidnes un draugu funkcija

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.

Vai nepieciešama papildu palīdzība?

Paplašiniet savas prasmes
Iepazīties ar apmācību
Esiet pirmais, kas saņem jaunās iespējas
Pievienoties Microsoft Insider

Vai šī informācija bija noderīga?

Paldies par jūsu atsauksmēm!

×