命名空间中的类定义用于午餐,永不返回

时间:2011-03-24 02:49:37

标签: c++ namespaces

我有以下内容:

namespace A {
 /* Class prototype */
 class B {
  private:
   type member_1;
  public:
   return_type member_2( arguments );
 };
}

稍后(在包含上述块的文件的另一个文件中),我执行以下操作:

namespace A {
 /* Function prototype */
 B function_name( arguments ); /* error on this line */
}

我收到错误:'A' does not name a type

我甚至尝试过A::B function_name( arguments );,但唉,我得到了同样的错误。

1 个答案:

答案 0 :(得分:4)

如果您向我们展示了无效的实际代码,那将非常有用。

从您提供的代码和错误我有几个猜测:

  • 您将A重用为类或变量。
  • 之前的代码中的代码 {11>}。
  • 您传递的参数未显示,并且声明的类型未知。
  • “稍后”实际上是一个头文件,这两个文件之间存在循环依赖关系。