prog.cpp: In function 'int main()':
prog.cpp:7:18: error: expected type-specifier before '(' token
In file included from /usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../../include/c++/4.5.1/functional:56:0,
from /usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../../include/c++/4.5.1/memory:82,
from prog.cpp:2:
/usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../../include/c++/4.5.1/tuple: At global scope:
/usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../../include/c++/4.5.1/tuple: In instantiation of 'std::_Head_base<1u, main()::deleter(), false>':
/usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../../include/c++/4.5.1/tuple:140:5: instantiated from 'std::_Tuple_impl<1u, main()::deleter()>'
/usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../../include/c++/4.5.1/tuple:140:5: instantiated from 'std::_Tuple_impl<0u, int*, main()::deleter()>'
/usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../../include/c++/4.5.1/tuple:308:5: instantiated from 'std::tuple<int*, main()::deleter()>'
/usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../../include/c++/4.5.1/bits/unique_ptr.h:211:20: instantiated from 'std::unique_ptr<int, main()::deleter()>'
prog.cpp:9:37: instantiated from here
/usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../../include/c++/4.5.1/tuple:106:13: error: field 'std::_Head_base<1u, main()::deleter(), false>::_M_head_impl' invalidly declared function type
In file included from /usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../../include/c++/4.5.1/memory:84:0,
from prog.cpp:2:
/usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../../include/c++/4.5.1/bits/unique_ptr.h: In constructor 'std::unique_ptr<_Tp, _Tp_Deleter>::unique_ptr(_Tp*) [with _Tp = int, _Tp_Deleter = main()::deleter(), _Tp* = int*]':
prog.cpp:9:45: instantiated from here
/usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../../include/c++/4.5.1/bits/unique_ptr.h:99:33: error: conversion from 'int' to non-scalar type 'main()::deleter()' requested
/usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../../include/c++/4.5.1/bits/unique_ptr.h: In member function 'void std::unique_ptr<_Tp, _Tp_Deleter>::reset(_Tp*) [with _Tp = int, _Tp_Deleter = main()::deleter(), _Tp* = int*]':
/usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../../include/c++/4.5.1/bits/unique_ptr.h:124:23: instantiated from 'std::unique_ptr<_Tp, _Tp_Deleter>::~unique_ptr() [with _Tp = int, _Tp_Deleter = main()::deleter()]'
prog.cpp:9:45: instantiated from here
/usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../../include/c++/4.5.1/bits/unique_ptr.h:196:4: error: too many arguments to function
In file included from /usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../../include/c++/4.5.1/functional:56:0,
from /usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../../include/c++/4.5.1/memory:82,
from prog.cpp:2:
/usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../../include/c++/4.5.1/tuple: In member function '_Head& std::_Head_base<_Idx, _Head, false>::_M_head() [with unsigned int _Idx = 1u, _Head = main()::deleter()]':
/usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../../include/c++/4.5.1/tuple:144:65: instantiated from '_Head& std::_Tuple_impl<_Idx, _Head, _Tail ...>::_M_head() [with unsigned int _Idx = 1u, _Head = main()::deleter(), _Tail = {}]'
/usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../../include/c++/4.5.1/tuple:443:26: instantiated from 'typename std::__add_ref<_Head>::type std::__get_helper(std::_Tuple_impl<_Idx, _Head, _Tail ...>&) [with unsigned int __i = 1u, _Head = main()::deleter(), _Tail = {}, typename std::__add_ref<_Head>::type = main()::deleter (&)()]'
/usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../../include/c++/4.5.1/tuple:457:35: instantiated from 'typename std::__add_ref<typename std::tuple_element<__i, std::tuple<_Elements ...> >::type>::type std::get(std::tuple<_Elements ...>&) [with unsigned int __i = 1u, _Elements = {int*, main()::deleter()}, typename std::__add_ref<typename std::tuple_element<__i, std::tuple<_Elements ...> >::type>::type = main()::deleter (&)()]'
/usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../../include/c++/4.5.1/bits/unique_ptr.h:172:32: instantiated from 'deleter_type& std::unique_ptr<_Tp, _Tp_Deleter>::get_deleter() [with _Tp = int, _Tp_Deleter = main()::deleter(), deleter_type = main()::deleter()]'
/usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../../include/c++/4.5.1/bits/unique_ptr.h:196:4: instantiated from 'void std::unique_ptr<_Tp, _Tp_Deleter>::reset(_Tp*) [with _Tp = int, _Tp_Deleter = main()::deleter(), _Tp* = int*]'
/usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../../include/c++/4.5.1/bits/unique_ptr.h:124:23: instantiated from 'std::unique_ptr<_Tp, _Tp_Deleter>::~unique_ptr() [with _Tp = int, _Tp_Deleter = main()::deleter()]'
prog.cpp:9:45: instantiated from here
/usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../../include/c++/4.5.1/tuple:96:45: error: invalid initialization of reference of type 'main()::deleter (&)()' from expression of type 'main()::deleter (*)()'