如果我typedef
公共基类中的某些类型,C ++标准是否保证typedef
ed类型始终对派生类可见?
例如:
struct A
{
typedef int T;
};
struct B : A
{
void f(T) {}; // Does the C++ standard guarantee it can be compiled?
};
int main()
{
B().f(8);
}
答案 0 :(得分:1)
typedef
具有与类的其他名称相同的访问规则。 private
,protected
和public
名称的常用访问规则也适用于typedef
。
从草案标准n3337:
7.1.3 typedef
说明符
9.2班级成员