我有以下内容:
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/