2015-12-14 2 views
2

gars Bonjour, je suis novice dans C++Init paire de struct intérieur struct

j'ai un problème avec ce code

i essayer d'initialiser une paire dans une struct qui prend une struct

enum HD_ERRORS{ // headers errors 
    Preboot  =0, 
    Loopback =1, 
    toto  =2 
}; 

struct First_Next_ERR{ 
    bool First_Err; 
    bool Next_Err; 
    First_Next_ERR() : First_Err(0),Next_Err(0) {};  
    }; 


struct Func_H_Errors{ 
pair < HD_ERRORS, First_Next_ERR > Preboot_er ; 
Func_H_Errors() : Preboot_er (Preboot){}; 
}; 

donc je suis obtenir cette erreur erreur: aucune fonction de mise en correspondance pour l'appel à « std :: :: paire paire (HD_ERRORS) »

je veux juste initialiser le type Enum de mes pai r je ne me soucie pas de la structure parce que je l'ai déjà init

Répondre

1

Le constructeur de paire prend 2 arguments. Dans votre cas, vous avez besoin d'un argument de type First_Next_ERR

0

Essayez comme ça:

struct Func_H_Errors 
{ 
    pair <HD_ERRORS, First_Next_ERR> Preboot_er ; 
    Func_H_Errors() 
     : Preboot_er (toto, First_Next_ERR()) 
    {} 
};