Bonjour,

Je suis capable de recuperer la taille d'un tableau C via des templates, mais en 3 étapes, j'aurai voulu savoir s'il etait possible de le faire en une seule... Voici mon code (qui compile et marche) :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
 
// Un parametre
class Parametre
{
public:
    int pname;
    int param;
};
// Un ensemble de parametres
class Parametres
{
public:
    std::vector<Parametre> params;
 
    template<std::size_t N>
    const Parametres& operator= (const Parametre (&params)[N])
    {
        for(const Parametre* i = params; i < params + N ; ++i)
        {
            this->params.push_back(*i);
        }
        return *this;
    }
};
// Instanciation - etape1 :
Parametre p[] = 
{
    {5,2},
    {1,2},
    {3,4}
};
// Instanciation - etape2 :
Parametres params;
// Instanciation - etape3 :
params = p; // avec le p defini dans le bloc précédent
Au final, je voudrais :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
// Le top : 
params = {{5,2},{1,2}};
// ou alors
Parametres params = p;
Cela est-il réalisable ?

Merci d'avance pour vos réponses et conseils !
B