【发布时间】:2021-11-20 07:40:33
【问题描述】:
我正在尝试将 char[] 数组添加到双端队列,但是当我执行以下代码时:
#include <iostream>
#include <queue>
#include <deque>
#include <string>
#include <unistd.h>
using namespace std;
int main(int argc, char *argv[]){
deque<char[]> q;
char buffer[2];
buffer[0] = 'a';
buffer[1] = 'b';
q.push_back(buffer);
return 0;
}
我收到以下错误:
test.cpp: In function ‘int main(int, char**)’:
test.cpp:14:23: error: no matching function for call to ‘std::deque<char []>::push_back(char [2])’
14 | q.push_back(buffer);
这看起来很奇怪,考虑到我可以将 strings 和 ints 等其他数据类型添加到双端队列就好了。
【问题讨论】:
-
您希望
char[]是什么? -
管理可变长度数组使用
std::vector<T>
标签: c++ data-structures std deque