struct里面的struct对结构

问题描述 投票:2回答:2

我正在尝试在结构中初始化一个带有结构的对:

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)'

我只是想初始化我的对的Enum类型。我不关心结构,因为我已经初始化它。

c++ struct enums initialization std-pair
2个回答
1
投票

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


0
投票

试试这样:

struct Func_H_Errors
{
    pair <HD_ERRORS, First_Next_ERR> Preboot_er ;
    Func_H_Errors() 
        : Preboot_er ( toto, First_Next_ERR() )  
    {}
};
© www.soinside.com 2019 - 2024. All rights reserved.