Compartir a través de


Error del compilador C3852

'member' que tiene el tipo 'type': la inicialización de agregado no pudo inicializar este miembro

Se intentó asignar una inicialización predeterminada como parte de una inicialización de agregado a un miembro de datos que no puede recibir una inicialización predeterminada en una inicialización de agregado.

Los ejemplos siguientes generan el error C3852:

// 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 };
}