#include <memory>
 
int main() {
	std::unique_ptr<unsigned char[]> ptr1 = std::unique_ptr<unsigned char[]>(new unsigned char[10]);
	std::shared_ptr<unsigned char[]> ptr2 = std::shared_ptr<unsigned char[]>(new unsigned char[10]);
	return 0;
}
				I2luY2x1ZGUgPG1lbW9yeT4KCmludCBtYWluKCkgewoJc3RkOjp1bmlxdWVfcHRyPHVuc2lnbmVkIGNoYXJbXT4gcHRyMSA9IHN0ZDo6dW5pcXVlX3B0cjx1bnNpZ25lZCBjaGFyW10+KG5ldyB1bnNpZ25lZCBjaGFyWzEwXSk7CglzdGQ6OnNoYXJlZF9wdHI8dW5zaWduZWQgY2hhcltdPiBwdHIyID0gc3RkOjpzaGFyZWRfcHRyPHVuc2lnbmVkIGNoYXJbXT4obmV3IHVuc2lnbmVkIGNoYXJbMTBdKTsKCXJldHVybiAwOwp9
				
				
				
				
				
			 
			
				
			
			
				
	
		
	
	
	In file included from /usr/include/c++/6/bits/shared_ptr.h:52:0,
                 from /usr/include/c++/6/memory:82,
                 from prog.cpp:1:
/usr/include/c++/6/bits/shared_ptr_base.h: In instantiation of ‘std::__shared_ptr<_Tp, _Lp>::__shared_ptr(_Tp1*) [with _Tp1 = unsigned char; _Tp = unsigned char []; __gnu_cxx::_Lock_policy _Lp = (__gnu_cxx::_Lock_policy)2u]’:
/usr/include/c++/6/bits/shared_ptr.h:117:32:   required from ‘std::shared_ptr<_Tp>::shared_ptr(_Tp1*) [with _Tp1 = unsigned char; _Tp = unsigned char []]’
prog.cpp:5:96:   required from here
/usr/include/c++/6/bits/shared_ptr_base.h:885:39: error: cannot convert ‘unsigned char*’ to ‘unsigned char (*)[]’ in initialization
         : _M_ptr(__p), _M_refcount(__p)
                                       ^