Erreur du compilateur C3852
'member' ayant le type 'type' : l’initialisation d’agrégats n’a pas pu initialiser ce membre
Une tentative a été effectuée pour affecter une initialisation par défaut dans le cadre d’une initialisation d’agrégation à un membre de données qui ne peut pas recevoir d’initialisation par défaut dans une initialisation d’agrégation.
Les exemples suivants génèrent l’erreur 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 };
}