[英]C++ Smart Pointers erroring
因此,我嘗試繞過智能指針,但無法正常工作!
#include <iostream>
#include <queue>
#include <Windows.h>
int main()
{
std::unique_ptr<std::queue<int>> s;
s->push(14);
s->push(2);
for (int i = 0; i < s->size(); i++)
{
std::cout << s->front();
std::cout << std::endl;
std::cout << s->back();
std::cout << std::endl;
}
Sleep(1500);
}
我究竟做錯了什么?
您缺少標題中的<memory>
。 然后,您將創建一個指針,但沒有指向它的對象。 嘗試
#include <iostream> // std::cout
#include <queue> // std::queue
#include <Windows.h> // Sleep
#include <memory> // std::unique_ptr & std::make_unique
int main()
{
// next line returns an std::unique_ptr<std::queue<int>>, hence the 'auto'
auto s = std::make_unique<std::queue<int>>();
s->push(14);
s->push(2);
std::cout << s->front() << "\n";
std::cout << s->back() << "\n";
Sleep(1500);
return 0;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.