在C中宣告queue列

Declaring queue in c++

我正在尝试在c中声明队列:

1
2
3
4
5
#include <queue>
......
......
queue<Process> *readyQueue = new queue<Process>;
.......

但是我一直收到此错误

'queue' was not declared in this scope

我想念什么?我当然创建了Process结构,所以问题不存在。
有什么问题?


您缺少名称空间规范。我想你想要std函数。
使用以下任一方式:

1
2
3
 #include <queue>
 ......
 std::queue<Process> *readyQueue = new std::queue<Process>;

1
2
3
4
 #include <queue>
 using std::queue;
 ......
 queue<Process> *readyQueue = new queue<Process>;


您需要指定正确的名称空间

std::queue


您应该使用using namespace std;std::前缀。这可能对您有帮助:

1
2
3
4
5
6
7
8
9
10
11
#include <queue>

int main()
{
    Process p1;
    Process p2;

    std::queue<Process> readyQueue;
    readyQueue.push(p1);
    readyQueue.push(p2);
}

有关更多详细信息,请参见参考。