Commit 841f616c by Jason Merrill

new

From-SVN: r21074
parent 744fac59
...@@ -5,7 +5,7 @@ template<class E,class F> class D ...@@ -5,7 +5,7 @@ template<class E,class F> class D
}; };
template<template<class> class D,class E> class C template<template<class> class D,class E> class C
{ // ERROR - ref below {
}; };
int main() int main()
......
// Build don't link:
template<class M, class T> struct temp2;
template<template<class> class M, class T> struct temp2<M<T>, T> {};
template<class M> struct temp1;
template<template<class> class M, class T> struct temp1<M<T> > {};
// Build don't link:
template <template<class> class TT> void f() {}
template <template<class,class> class TT> void f() {}
template <template<class,class> class TT, class T> void f(T)
{
}
template <template<class> class TT, class T> void f(T)
{
}
template <class T> class C {};
template <class T,class U> class D {};
int main()
{
f<C>(1);
f<D>(1);
}
template <template<int> class TT, class T> void f(T)
{
}
template <template<class> class TT, class T> void f(T)
{
}
template <class T> class C {};
template <int> class D {};
int main()
{
f<C>(1);
f<D>(1);
}
// Build don't link:
template <int i> class C {};
template <template <long> class TT> class D {};
int main()
{
D<C> d; // ERROR - args not match
}
template <class T, template <T> class TT> class C {};
template <int> class D {};
int main()
{
C<int,D> c;
}
template<class E, int i, class F, class G=int, int j=i, class H=E> class D
{
};
template<template<class,int,class,class> class D,class E> class C
{
D<E,2,char,bool> d;
};
int main()
{
C<D,int> c;
}
// Build don't link:
template<class A,class B> class mymap {};
template<class Key,
class Value,
template<class, class > class MapT>
class base
{
};
// specialization
template<class Key, class Value>
class base<Key, Value, mymap<int, int > > // ERROR - mymap<...> is not a template
{ // ERROR - Bad class name
};
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment