从模板化父类访问继承变量
针对模板化父类中变量可访问性的询问,有必要澄清一下:现代GNU C编译器,从3.4.6版本开始,严格遵守C标准。它规定模板中的非限定名称始终是非依赖的。因此,由于依赖基类专门化的未知性质,在模板定义时解析这些名称变得不可行,例如在提供的代码片段中:
此行为源于在模板定义期间识别不合格名称的要求。模板定义,由于未来潜在的专业化,这对于依赖基类是不可能的。因此,尝试在“Bar”的“Perna”方法中访问未限定的受保护变量“a”将导致错误。
要规避此限制,需要使用限定名称“Foo
此外,在基类中声明的非限定函数名称也受此限制。要访问此类函数,必须使用限定名称或提供“using”声明。
以上是如何在 C 中访问模板化父类的继承变量?的详细内容。更多信息请关注PHP中文网其他相关文章!