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