【问题标题】:Struct inside C++ 'struct name' does not name a typeC ++'结构名称'中的结构没有命名类型
【发布时间】:2015-06-19 16:13:44
【问题描述】:

啊.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' 没有命名类型

【问题讨论】:

    标签: c++ struct


    【解决方案1】:

    B是在A的范围内定义的,所以你需要通过它的全名来引用它:

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

    【讨论】:

    • @mariner,如果答案对您有帮助,请尝试接受它。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-04-07
    • 2018-07-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-08
    相关资源
    最近更新 更多