┌─(~/Src/C++/main)────────────────────────────────────────────────(soon@archlinux:pts/7)─┐ └─(23:17:44)──> cat main.cpp ──(Sun,Sep15)─┘ #include #include typedef float float2[2]; std::pair make_pair(const float2 &first,unsigned int second) { std::pair result; result.first[0] = first[0]; result.first[1] = first[1]; result.second = second; return result; } int main(int,char**) { unsigned int j = 0; float2 ab = {1.0, 2.0}; std::vector > myVec; myVec.push_back(make_pair(ab, j)); return 0; } ┌─(~/Src/C++/main)────────────────────────────────────────────────(soon@archlinux:pts/7)─┐ └─(09:28:17)──> clang++ main.cpp -std=c++11 ──(Mon,Sep16)─┘ ┌─(~/Src/C++/main)────────────────────────────────────────────────(soon@archlinux:pts/7)─┐ └─(09:28:39)──> clang++ main.cpp -std=c++11 -stdlib=libc++ ──(Mon,Sep16)─┘ In file included from main.cpp:1: In file included from /usr/include/c++/v1/vector:261: In file included from /usr/include/c++/v1/__bit_reference:15: In file included from /usr/include/c++/v1/algorithm:593: /usr/include/c++/v1/utility:283:11: error: array initializer must be an initializer list : first(_VSTD::forward(__p.first)), ^ main.cpp:13:10: note: in instantiation of member function 'std::__1::pair::pair' requested here return result; ^ In file included from main.cpp:1: In file included from /usr/include/c++/v1/vector:261: In file included from /usr/include/c++/v1/__bit_reference:15: In file included from /usr/include/c++/v1/algorithm:593: /usr/include/c++/v1/utility:246:11: error: array initializer must be an initializer list : first(__p.first), ^ /usr/include/c++/v1/memory:1685:31: note: in instantiation of member function 'std::__1::pair::pair' requested here ::new((void*)__p) _Up(_VSTD::forward<_Args>(__args)...); ^ /usr/include/c++/v1/memory:1612:18: note: in instantiation of function template specialization 'std::__1::allocator >::construct, std::__1::pair >' requested here {__a.construct(__p, _VSTD::forward<_Args>(__args)...);} ^ /usr/include/c++/v1/memory:1493:14: note: in instantiation of function template specialization 'std::__1::allocator_traits > >::__construct, std::__1::pair >' requested here {__construct(__has_construct(), ^ /usr/include/c++/v1/vector:1535:25: note: in instantiation of function template specialization 'std::__1::allocator_traits > >::construct, std::__1::pair >' requested here __alloc_traits::construct(this->__alloc(), ^ main.cpp:21:9: note: in instantiation of member function 'std::__1::vector, std::__1::allocator > >::push_back' requested here myVec.push_back(make_pair(ab, j)); ^ 2 errors generated.