Как унифицировать инициализацию карты unique_ptr?

У меня есть этот код для инициализации карты в в unique_ptr.

auto a = unique_ptr<a>(new A());
map m;
m[1] = move(a);
</a>

Могу ли я использовать форму инициализировать это? Я старался

map m {{1, unique_ptr<a>(new A())}};    
</a>

Но я получил ошибку.

Некоторая часть сообщения об ошибке

In instantiation of 'std::_Rb_tree_node::_Rb_tree_node(_Args&& ...) [with _Args = {const std::pair&}; _Val = std::pair]': ... In file included from /opt/local/include/gcc48/c++/memory:81:0,
                 from smart_pointer_map.cpp:3: /opt/local/include/gcc48/c++/bits/unique_ptr.h:273:7: error: declared here
       unique_ptr(const unique_ptr&) = delete;

   ^

Ответы на вопрос(2)

Ваш ответ на вопрос