Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
túl sok inicializáló
Megjegyzések
Az inicializálók száma meghaladja az inicializálandó objektumok számát.
A fordító képes arra következtetni, hogy az inicializálók megfelelő hozzárendelése objektumokhoz és belső objektumokhoz, ha a belső kapcsos zárójelek az inicializálók listájából származnak. A teljes zárójelezés emellett kiküszöböli a kétértelműséget, és megfelelő hozzárendelést eredményez. A részleges zárójelezés a C2078-at okozhatja az inicializálók objektumokhoz való hozzárendelésének kétértelműsége miatt.
példa
Az alábbi példa létrehozza a C2078-at, és bemutatja, hogyan javítható ki:
// 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
}