Mercurial > hg > CbC > CbC_gcc
view gcc/testsuite/g++.dg/diagnostic/member-fn-1.C @ 145:1830386684a0
gcc-9.2.0
author | anatofuz |
---|---|
date | Thu, 13 Feb 2020 11:34:05 +0900 |
parents | |
children |
line wrap: on
line source
// PR c++/89537 // { dg-do compile { target c++11 } } template <typename> class A {}; template <typename, typename, typename, typename> class B; class C { using mapped_type = int; public: template <typename _Compare> C(B<mapped_type, _Compare, A<int>, A<int>> *p1, unsigned) : keys(p1->keys), // { dg-error "18: invalid use of non-static member function" } values(p1->values) {} // { dg-error "20: invalid use of non-static member function" } A<int> keys; A<int> values; }; class D { public: using key_compare = int; template <typename _Alloc> D(key_compare, _Alloc); }; template <typename _Tp, typename, typename, typename = A<_Tp>> class B { using _Impl = D; _Impl _M_impl; public: using key_compare = int; using iterator = C; template <typename _Alloc> B(key_compare p1, _Alloc p2) : _M_impl(p1, p2) {} template <typename _Alloc> B(_Alloc p1) : B(key_compare(), p1) {} iterator begin() { return {this, 0}; } void keys(); void values(); }; void fn1() { B<int, int, A<int>> m(fn1); m.begin(); }