C++ 程序编译但不运行c++;

C++ 程序编译但不运行c++;,c++,data-structures,tree,binary-tree,dsa,C++,Data Structures,Tree,Binary Tree,Dsa,这不是家庭作业 我正在用队列对二叉树进行编码,但程序没有编译,也没有打印任何内容 我尝试清除cin缓冲区,但问题仍然存在 我使用vscode和sublime文本来运行代码 我用的是cpp14 exe文件已生成 -其他程序运行正常 队列代码 #包括 使用名称空间std; 三烯类{ 公众: treeNode*lchild; int数据; 树状体*rchild; }; 类循环队列{ int f;//前面 int r;//后面 int s;//返回 treeNode**Q; 公众: 循环队列(整数大

这不是家庭作业 我正在用队列对二叉树进行编码,但程序没有编译,也没有打印任何内容

  • 我尝试清除cin缓冲区,但问题仍然存在
  • 我使用vscode和sublime文本来运行代码
  • 我用的是cpp14
  • exe文件已生成 -其他程序运行正常
队列代码
#包括
使用名称空间std;
三烯类{
公众:
treeNode*lchild;
int数据;
树状体*rchild;
};
类循环队列{
int f;//前面
int r;//后面
int s;//返回
treeNode**Q;
公众:
循环队列(整数大小){
这个->f=0;
这个->r=0;
这->s=大小;
*Q=新三烯醚;
}
无效排队(treeNode*val);
treeNode*deque();
int是空的();
};
无效循环队列::排队(treeNode*val){
如果((r+1)%s==f){
coutlchild=t;
q、 排队(t);
}
}
coutrchild=NULL;
p->lchild=t;
q、 排队(t);
}
}
无效预订单(treeNode*p){
如果(p){
在这一行中不能

*Q = new treeNode;
您正在反引用未初始化的指针(未定义的行为)。我想知道为什么要使用指向指针的指针?似乎没有必要

如果未定义的行为不会导致崩溃,则您的程序似乎会在此处停止:

std::cin.ignore(INT_MAX);
实际上,您正在等待STDIN结束

希望这有帮助

*Q = new treeNode;
std::cin.ignore(INT_MAX);