Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
te veel initialisaties
Opmerkingen
Het aantal initialisaties overschrijdt het aantal objecten dat moet worden geïnitialiseerd.
De compiler kan de juiste toewijzing van initialisatiefuncties aan objecten en binnenste objecten afleiden wanneer binnenste accolades uit de initialisatielijst worden verwijderd. Bij het voltooien van accolades worden ook dubbelzinnigheid weggenomen en worden de juiste toewijzingen geretourneerd. Gedeeltelijke accolades kunnen C2078 veroorzaken vanwege dubbelzinnigheid in de toewijzing van initialisaties aan objecten.
Voorbeeld
In het volgende voorbeeld wordt C2078 gegenereerd en ziet u hoe u dit kunt oplossen:
// C2078.cpp
// Compile by using: cl /c /W4 C2078.cpp
struct S {
struct {
int x, y;
} z[2];
};
int main() {
int d[2] = {1, 2, 3}; // C2078
int e[2] = {1, 2}; // OK
char a[] = {"a", "b"}; // C2078
char *b[] = {"a", "b"}; // OK
char c[] = {'a', 'b'}; // OK
S s1{1, 2, 3, 4}; // OK
S s2{{1, 2}, {3, 4}}; // C2078
S s3{{1, 2, 3, 4}}; // OK
S s4{{{1, 2}, {3, 4}}}; // OK
}