如何通过引用传递位域

问题描述

请注意,已经存在一个标题几乎完全相同的问题,但是提出的问题却大不相同。

说我想要一个采用位域引用或指针作为参数的方法。这是不合法的,但也许可以举例说明:

Procedure TMainForm.CreateMDIChild(const Name: string);
var
  Child: TMDIChild;
begin
  Child := TMDIChild.Create(Application);
  MyChild:=Child;
end;

我可以将Bar写为宏:

class Foo {

  unsigned a:2,b:2,c:2;

  bool Bar( unsigned* px:2 ) { *px = a; return true; };
}

Foo foo;
if ( foo.Bar( &foo.b ) )
    exit( EXIT_SUCCESS );

许多地方都可以用C编写这样的宏,现在您可以使用函数模板进行处理了。是否有模板解决方案可以在C ++ 11或更高版本中合法编写上述Bar()方法?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)