From Jason Turner

[meta.member]

Diff to HTML by rtfpessoa

tmp/tmpl0mgx1iv/{from.md → to.md} RENAMED
@@ -37,19 +37,19 @@ struct B { int b; }; // a standard-layout class
37
  struct C: public A, public B { }; // not a standard-layout class
38
 
39
  static_assert( is_pointer_interconvertible_with_class( &C::b ) );
40
  // Succeeds because, despite its appearance, &C::b has type
41
  // ``pointer to member of B of type int''.
42
- static_assert( is_pointer_interconvertible_with_class<C>( &C::b ) );
43
- // Forces the use of class C, and fails.
44
 
45
  static_assert( is_corresponding_member( &C::a, &C::b ) );
46
  // Succeeds because, despite its appearance, &C::a and &C::b have types
47
  // ``pointer to member of A of type int'' and
48
  // ``pointer to member of B of type int'', respectively.
49
- static_assert( is_corresponding_member<C, C>( &C::a, &C::b ) );
50
- // Forces the use of class C, and fails.
51
  ```
52
 
53
  — *end example*]
54
 
55
  — *end note*]
 
37
  struct C: public A, public B { }; // not a standard-layout class
38
 
39
  static_assert( is_pointer_interconvertible_with_class( &C::b ) );
40
  // Succeeds because, despite its appearance, &C::b has type
41
  // ``pointer to member of B of type int''.
42
+ static_assert( !is_pointer_interconvertible_with_class<C, int>( &C::b ) );
43
+ // Forces the use of class C, and the result is false.
44
 
45
  static_assert( is_corresponding_member( &C::a, &C::b ) );
46
  // Succeeds because, despite its appearance, &C::a and &C::b have types
47
  // ``pointer to member of A of type int'' and
48
  // ``pointer to member of B of type int'', respectively.
49
+ static_assert( !is_corresponding_member<C, C, int, int>( &C::a, &C::b ) );
50
+ // Forces the use of class C, and the result is false.
51
  ```
52
 
53
  — *end example*]
54
 
55
  — *end note*]