Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/126.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 具有自定义数据类型的STL_C++_Stl_Deque_Custom Data Type - Fatal编程技术网

C++ 具有自定义数据类型的STL

C++ 具有自定义数据类型的STL,c++,stl,deque,custom-data-type,C++,Stl,Deque,Custom Data Type,我做错了什么 #include <iostream> #include <deque> using namespace std; struct mystruct { int number1; int number2; }; int main() { std::deque<mystruct> mydeque; mydeque.number1.push_front(77); return 0; } #包

我做错了什么

#include <iostream>
#include <deque>
using namespace std;

struct mystruct {
       int number1;
       int number2;
};

int main() {
    std::deque<mystruct> mydeque;

    mydeque.number1.push_front(77);

    return 0;
}
#包括
#包括
使用名称空间std;
结构mystruct{
整数1;
整数2;
};
int main(){
std:deque mydeque;
mydeque.编号1.向前推(77);
返回0;
}

您已将
mydeque
声明为
mystruct
s的容器。它最初是空的,当然没有名为
number1
的公共成员

mydeque.push_front({77, 88});

deque类型为
mystruct
,您试图推送一个
整数

push\u front
是一种deque方法,而不是结构的编号
mystruct

正确的方法是:

struct mystruct {
       int number1;
       int number2;
mystruct(int n1, int n2) : number1(n1), number2(n2){}
};

int main() {
    std::deque<mystruct> mydeque;

    mydeque.push_front(mystruct(77,88));

    return 0;
}
struct mystruct{
整数1;
整数2;
mystruct(intn1,intn2):number1(n1),number2(n2){}
};
int main(){
std:deque mydeque;
mydeque.push_front(mystruct(77,88));
返回0;
}

谢谢,这正是我想要的答案。