C ++'struct name'中的struct没有命名类型

时间:2015-06-19 08:12:46

标签: c++ struct

A.H

class A {
  enum E {one , two , three};
  struct B {
      char a;
      E num;
  };

  static const B arr[];
}

A.cpp

const B A::arr[] = {
  {'1', one},
  {'2', two},
  {'3', three}
};

编译时出现以下错误: 'B'没有命名类型

1 个答案:

答案 0 :(得分:6)

BA的范围内定义,因此您需要以其全名引用它:

const A::B A::arr[] = { ....