tq09.cpp

来自「开放源码的编译器open watcom 1.6.0版的源代码」· C++ 代码 · 共 41 行

CPP
41
字号
#include "dump.h"
// does not generate all member pointer thunks required
// seems to ignore const / volatile member function distinction
// GRB
struct A {
    void foo( void );
    void foo( void ) const;
};
void A::foo( void ) const GOOD;
void A::foo( void ) GOOD;
void f( A& a, A const &b ) {
    auto void (A::*mpa)( void );
    auto void (A::*mpb)( void ) const;
    mpa = &A::foo;
    mpb = &A::foo;
    (a.*mpa)();
    (b.*mpb)();
}
struct B {
    void foo( void ) const;
    void foo( void );
};
void B::foo( void ) const GOOD;
void B::foo( void ) GOOD;
void g( B &a, B const &b ) {
    auto void (B::*mpa)( void );
    auto void (B::*mpb)( void ) const;
    mpa = &B::foo;
    mpb = &B::foo;
    (a.*mpa)();
    (b.*mpb)();
}
int main( void ) {
    A a;
    B b;
    f( a, a );
    g( b, b );
    CHECK_GOOD( 66 );
    return errors != 0;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?