[英]C++ queue inside a class, segmentation fault
有人可以说,为什么我的代码中有分段错误? 我不知道为什么会这样。 我使用Code:Blocks但在线编译器也有同样的问题。 我不知道问题出在哪里。
#include <iostream>
#include <queue>
#include <memory>
using namespace std;
class Task {
private:
queue <string> q;
public:
string input;
void read (int hm)
{
for (int i=1;i<=hm;i++)
{
cin>>input;
q.push(input);
}
}
void count()
{
cout<<q.back();
}
};
int main()
{
unique_ptr <Task> ptr;
int how_many;
cin>>how_many;
ptr->read(how_many);
ptr->count();
return 0;
}
指针ptr
正在使用而未被初始化。 采用:
std::unique_ptr<Task> ptr = std::make_unique<Task>();
话虽如此,您还应该明确包含<string>
标头。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.