c++ - 命名空间中的类定义出去吃午饭,永不返回

标签 c++ namespaces

我有以下内容:

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

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

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

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

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

最佳答案

如果您向我们展示不起作用的实际代码,那将非常有帮助。

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

  • 您将 A 重新用作类或变量。
  • “稍后”中的命名空间 A 之前有损坏的代码。
  • 您正在传递未显示的参数,并且它们是用未知类型声明的。
  • “Later”其实是一个头文件,两个文件之间存在循环依赖。

关于c++ - 命名空间中的类定义出去吃午饭,永不返回,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5414210/

相关文章:

php - 为什么类名不回退到命名空间中的全局类名?

c++ - glOrtho 制作顶 View 的正确参数是什么?

c++ - Makefile - 如何正确编写依赖关系

c++ - GetOpenFileName 对话框和 opencv 的奇怪行为

c++ - OpenGL和OOP程序结构

C++:类和函数的命名空间说明符

c++ - 鼠标单击OpenGL无法围绕其自身中心旋转对象

PHP:如何从别名中获取完全限定的类名?

variables - 从文件中获取变量

C++ 命名空间声明和定义