#include<algorithm>
#include<string>
#include<new>
#include<memory>
#include<vector>
using std::vector;
using namespace std;
int main()
{
shared_ptr<vector<int> > pointer=make_shared<vector<int>> ({2,3,5,8});
cout<<(*pointer)[3];
return 0;
so make_shared can't initialize like ({2,3,5,8}),why? }