我正在尝试用 c++ 声明一个队列:
#include <queue>
......
......
queue<Process> *readyQueue = new queue<Process>;
.......
但是我一直收到此错误
在此范围内未声明"队列"
我错过了什么?当然,我创建了 Process 结构,所以问题不存在。问题出在哪里?
您缺少命名空间规范。我想你想要标准功能。使用以下任一方式:
#include <queue>
......
std::queue<Process> *readyQueue = new std::queue<Process>;
或
#include <queue>
using std::queue;
......
queue<Process> *readyQueue = new queue<Process>;
您需要指定正确的命名空间
std::queue
您应该使用using namespace std;
或std::
前缀。这可能有助于您:
#include <queue>
int main()
{
Process p1;
Process p2;
std::queue<Process> readyQueue;
readyQueue.push(p1);
readyQueue.push(p2);
}
有关更多详细信息,请参阅参考资料。