#include <cstdio>
#include <unordered_map>
#include <vector>
#include <string>
using namespace std;
class A
{
public:
A(void)
{
}
A(const A &other)
{
}
A &operator=(const A &other)
{
return *this;
}
A(const unordered_map<int, A> &value)
{
}
};
int main(void)
{
A a;
unordered_map<wstring, A> m;
m.insert(std::make_pair(L"test", A()));
printf("Hello, World!");
return 0;
}
I2luY2x1ZGUgPGNzdGRpbz4KI2luY2x1ZGUgPHVub3JkZXJlZF9tYXA+CiNpbmNsdWRlIDx2ZWN0b3I+CiNpbmNsdWRlIDxzdHJpbmc+Cgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKY2xhc3MgQQp7CnB1YmxpYzoKICAgIEEodm9pZCkKICAgIHsKICAgIH0KICAgIEEoY29uc3QgQSAmb3RoZXIpCiAgICB7CiAgICB9CiAgICBBICZvcGVyYXRvcj0oY29uc3QgQSAmb3RoZXIpCiAgICB7CiAgICAgICAgcmV0dXJuICp0aGlzOwogICAgfQogICAgQShjb25zdCB1bm9yZGVyZWRfbWFwPGludCwgQT4gJnZhbHVlKQogICAgewogICAgfQp9OwoKaW50IG1haW4odm9pZCkKewogICAgQSBhOwogICAgdW5vcmRlcmVkX21hcDx3c3RyaW5nLCBBPiBtOwogICAgbS5pbnNlcnQoc3RkOjptYWtlX3BhaXIoTCJ0ZXN0IiwgQSgpKSk7CiAgICBwcmludGYoIkhlbGxvLCBXb3JsZCEiKTsKICAgIHJldHVybiAwOwp9
In file included from /usr/include/c++/4.8/bits/move.h:57:0,
from /usr/include/c++/4.8/bits/stl_pair.h:59,
from /usr/include/c++/4.8/utility:70,
from /usr/include/c++/4.8/unordered_map:38,
from prog.cpp:2:
/usr/include/c++/4.8/type_traits: In instantiation of ‘struct std::__and_<std::is_convertible<const int&, const int>, std::is_convertible<const A&, A> >’:
/usr/include/c++/4.8/bits/stl_pair.h:121:38: required from ‘struct std::__is_direct_constructible_impl<std::pair<const int, A>, const std::pair<const int, A>&>’
/usr/include/c++/4.8/type_traits:116:12: required from ‘struct std::__and_<std::is_destructible<std::pair<const int, A> >, std::__is_direct_constructible_impl<std::pair<const int, A>, const std::pair<const int, A>&> >’
/usr/include/c++/4.8/type_traits:817:12: required from ‘struct std::__is_direct_constructible_new_safe<std::pair<const int, A>, const std::pair<const int, A>&>’
/usr/include/c++/4.8/type_traits:895:12: required from ‘struct std::__is_direct_constructible_new<std::pair<const int, A>, const std::pair<const int, A>&>’
/usr/include/c++/4.8/type_traits:903:12: required from ‘struct std::__is_direct_constructible<std::pair<const int, A>, const std::pair<const int, A>&>’
/usr/include/c++/4.8/type_traits:944:12: [ skipping 18 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
/usr/include/c++/4.8/type_traits:968:12: required from ‘struct std::__is_copy_constructible_impl<std::pair<const std::basic_string<wchar_t>, A>, false>’
/usr/include/c++/4.8/type_traits:974:12: required from ‘struct std::is_copy_constructible<std::pair<const std::basic_string<wchar_t>, A> >’
/usr/include/c++/4.8/bits/alloc_traits.h:540:12: required from ‘struct std::__is_copy_insertable<std::allocator<std::pair<const std::basic_string<wchar_t>, A> > >’
/usr/include/c++/4.8/bits/alloc_traits.h:560:63: required by substitution of ‘template<class _Alloc> using __check_copy_constructible = std::__allow_copy_cons<std::__is_copy_insertable<_Alloc>::value> [with _Alloc = std::allocator<std::pair<const std::basic_string<wchar_t>, A> >]’
/usr/include/c++/4.8/bits/unordered_map.h:97:11: required from ‘class std::unordered_map<std::basic_string<wchar_t>, A>’
prog.cpp:29:31: required from here
/usr/include/c++/4.8/type_traits:116:12: error: invalid use of incomplete type ‘std::conditional<true, std::is_convertible<const A&, A>, std::is_convertible<const int&, const int> >::type {aka struct std::is_convertible<const A&, A>}’
struct __and_<_B1, _B2>
^
/usr/include/c++/4.8/type_traits:1317:12: error: declaration of ‘std::conditional<true, std::is_convertible<const A&, A>, std::is_convertible<const int&, const int> >::type {aka struct std::is_convertible<const A&, A>}’
struct is_convertible
^
/usr/include/c++/4.8/type_traits: In substitution of ‘template<class _From1, class _To1> static decltype ((__test_aux<_To1>(declval<_From1>()), std::__sfinae_types::__one())) std::__is_convertible_helper<_From, _To, false>::__test(int) [with _From1 = _From1; _To1 = _To1; _From = const A&; _To = A] [with _From1 = const A&; _To1 = A]’:
/usr/include/c++/4.8/type_traits:1312:50: required from ‘constexpr const bool std::__is_convertible_helper<const A&, A, false>::value’
/usr/include/c++/4.8/type_traits:1317:12: required from ‘struct std::is_convertible<const A&, A>’
/usr/include/c++/4.8/type_traits:116:12: required from ‘struct std::__and_<std::is_convertible<const std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >&, const std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >, std::is_convertible<const A&, A> >’
/usr/include/c++/4.8/bits/stl_pair.h:121:38: required from ‘struct std::__is_direct_constructible_impl<std::pair<const std::basic_string<wchar_t>, A>, const std::pair<const std::basic_string<wchar_t>, A>&>’
/usr/include/c++/4.8/type_traits:116:12: required from ‘struct std::__and_<std::is_destructible<std::pair<const std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >, A> >, std::__is_direct_constructible_impl<std::pair<const std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >, A>, const std::pair<const std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >, A>&> >’
/usr/include/c++/4.8/type_traits:817:12: [ skipping 5 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
/usr/include/c++/4.8/type_traits:968:12: required from ‘struct std::__is_copy_constructible_impl<std::pair<const std::basic_string<wchar_t>, A>, false>’
/usr/include/c++/4.8/type_traits:974:12: required from ‘struct std::is_copy_constructible<std::pair<const std::basic_string<wchar_t>, A> >’
/usr/include/c++/4.8/bits/alloc_traits.h:540:12: required from ‘struct std::__is_copy_insertable<std::allocator<std::pair<const std::basic_string<wchar_t>, A> > >’
/usr/include/c++/4.8/bits/alloc_traits.h:560:63: required by substitution of ‘template<class _Alloc> using __check_copy_constructible = std::__allow_copy_cons<std::__is_copy_insertable<_Alloc>::value> [with _Alloc = std::allocator<std::pair<const std::basic_string<wchar_t>, A> >]’
/usr/include/c++/4.8/bits/unordered_map.h:97:11: required from ‘class std::unordered_map<std::basic_string<wchar_t>, A>’
prog.cpp:29:31: required from here
/usr/include/c++/4.8/type_traits:1302:21: error: initializing argument 1 of ‘static void std::__is_convertible_helper<_From, _To, false>::__test_aux(_To1) [with _To1 = A; _From = const A&; _To = A]’
static void __test_aux(_To1);
^