我正在尝试在c ++中声明一个队列:
#include <queue>
......
......
queue<Process> *readyQueue = new queue<Process>;
.......
Run Code Online (Sandbox Code Playgroud)
但我一直得到这个错误
在此范围内未声明'queue'
我错过了什么?当然,我创建了Process结构,所以问题不存在.有什么问题?
klm*_*123 13
您缺少命名空间规范.我想你想要std函数.使用:
#include <queue>
......
std::queue<Process> *readyQueue = new std::queue<Process>;
Run Code Online (Sandbox Code Playgroud)
要么
#include <queue>
using std::queue;
......
queue<Process> *readyQueue = new queue<Process>;
Run Code Online (Sandbox Code Playgroud)
您应该使用using namespace std;或std::前缀。这可能会帮助您:
#include <queue>
int main()
{
Process p1;
Process p2;
std::queue<Process> readyQueue;
readyQueue.push(p1);
readyQueue.push(p2);
}
Run Code Online (Sandbox Code Playgroud)
有关更多详细信息,请参阅参考资料。