Bonjour,

je cherche à créer un tableau d'objets initialisés statiquement lors de la déclaration.
Et je tombe sur un comportement que je ne m'explique pas !
Voici un exemple minimal qui met en évidence ce comportement :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <stdio.h>
 
struct Pair
    {
    Pair ( int x = 0 , int y = 0 )    { _x = x ; _y = y ;}
    int _x,_y ;
    } ;
 
void main ()
    {
    Pair p [2] = { (1,2),(3,4) } ;
    printf("(%d,%d)  (%d,%d)\n",p[0]._x,p[0]._y,p[1]._x,p[1]._y ) ;
    }
Sur la console j'obtiens :Alors là...
Quelqu'un pourraît-il m'expliquer ce phénomène ?
Pourquoi sont-ce les secondes valeurs d'initialisation que je retrouve dans les premiers champs de mon objet ?

Merci d'avance.