结构内部结构的Init对

Init pair of struct inside struct

本文关键字:结构 Init 内部      更新时间:2023-10-16

我正在尝试初始化一个结构内部的一对,该结构采用一个结构:

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){}; 
};

所以我得到了这个错误:

错误:没有用于调用"std::pair::pair(HD_ERRORS)"的匹配函数

我只想初始化我的对的枚举类型。我不喜欢这个结构,因为我已经初始化了它。

对构造函数接受2个参数。在您的情况下,您需要一个类型为First_Next_ERR 的参数

这样试试:

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