language: C++11 (gcc-4.7.2)
date: 439 days 10 hours ago
link:
visibility: public
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#include <iostream>
#include <typeinfo>
#include <cxxabi.h>
 
template <typename...> struct test {};
 
template <typename...> struct join;
 
template
<
        template <typename... HeadArgs> class Head,
        template <typename... TailArgs> class...
>
struct join<class Head<typename HeadArgs...>, class Head<typename TailArgs...>...>
{
    typedef typename Head<typename HeadArgs..., typename TailArgs......> result;
};
 
int main()
{
        int status;
        std::cout << abi::__cxa_demangle(typeid(join<test<int, int, char>, test<double, double char>, test<int>>::result).name(), 0, 0, &status) << std::endl;
 
        return 0;
}
prog.cpp:14:79: error: expected parameter pack before '...'
prog.cpp: In function 'int main()':
prog.cpp:22:89: error: two or more data types in declaration of 'type name'