Teilen über


Compilerfehler C3852

„member“ hat Typ „type“: Aggregatsinitialisierung konnte diesen Member nicht initialisieren

Bemerkungen

Es wurde versucht, eine Standardinitialisierung als Teil einer Aggregatinitialisierung einem Datenmemm zuzuweisen, der keine Standardinitialisierung in einer Aggregatinitialisierung empfangen kann.

Example

Im folgenden Beispiel wird C3852 generiert:

// C3852.cpp
struct S
{
   short s;
};

struct S1
{
   int i;
   const S s;
};

struct S2
{
   int i;
   char & rc;
};

int main()
{
   S1 s1 = { 1 };   // C3852 const member
   // try the following line instead
   // S1 s1 = { 1, 2 };

   S2 s2 = { 2 };   // C3852 reference member
   // try the following line instead
   // char c = 'a';
   S2 s2 = { 2, c };
}