C++ 如何在struct中将指向CURL的指针传递给vector?

C++ 如何在struct中将指向CURL的指针传递给vector?,c++,c++11,C++,C++11,//header.h单例模式 struct curl_a { curl_a(){}; curl_a(CURL * d, int &l) :data(d), logged(l){}; CURL * data; bool logged; }; 问题似乎是您正在使用无效的第二个参数将curl_调用为构造函数。当参数显然需要l值引用时,传递的是true 使用整型变量,而不是使用true值初始化 curl_a' : illegal member initializ

//header.h单例模式

struct curl_a {
    curl_a(){};
    curl_a(CURL * d, int &l) :data(d), logged(l){};
    CURL * data;
    bool logged;
};

问题似乎是您正在使用无效的第二个参数将curl_调用为构造函数。当参数显然需要l值引用时,传递的是true

使用整型变量,而不是使用true值初始化

curl_a' : illegal member initialization: 'data' is not a base or member
这是您的示例,但使用int*而不是CURL*进行了简化:

下面是一个使用true作为参数的失败尝试的示例:

看起来更适合这种情况。true不是int&。不要通过非常量引用传递非常量引用的东西。如果你需要一本书。
std::unordered_map <int, std::vector<curl_a>> curl_acc;
curl_a' : illegal member initialization: 'data' is not a base or member
int x = 1;
crl->push_back({ myHandle, x });