thunk1.c

来自「俄罗斯高人Mamaich的Pocket gcc编译器(运行在PocketPC上)」· C语言 代码 · 共 47 行

C
47
字号
// Test that non-variadic function calls using thunks work right.struct A {  void* p;  A (void* q): p (q) { }  A (const A& a): p (a.p) { }};class CBase {public:  virtual void BaseFunc();};class MMixin {public:   virtual A MixinFunc(int arg, A arg2) = 0;};class CExample : public CBase, public MMixin {public:   A MixinFunc(int arg, A arg2);};void CBase::BaseFunc(){}A CExample::MixinFunc(int arg, A arg2){  if (arg != 1 || arg2.p != 0)    return 0;  return this;}void* test(MMixin& anExample){  return anExample.MixinFunc(1,A(0)).p;}int main (){  CExample c;  if (test(c) != &c)    return 1;}

⌨️ 快捷键说明

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