當我運行B行時,一切看起來都不錯,但是當我將它換成A行時,它崩潰了,我不知道爲什麼。C++:爲什麼這個智能動態指針不可用?
#include <iostream>
#include <vector>
#include <memory>
using namespace std;
int main() {
vector<int> vi(10,5);
auto ptr = make_shared<vector<int>>(vi); //A
// auto ptr = &vi; //B
auto beg = ptr->begin();
while (beg != vi.end())
cout << *beg++ << " ";
return 0;
}
請用代碼和解釋什麼是問題來創建你的問題。不與任何鏈接。 – granmirupa
請在說明中加入程序清單,沒有人想看代碼圖片。 – Gnqz
除了不想看圖片;當別人來搜索同樣的問題時,他們將無法找到它;或者如果他們設法從你的問題中找到這個頁面,你的代碼將不再可用。 – UKMonkey