在C++中我得到一个错误,说xxxxx没有在yyy.h中命名一个类型
那是什么意思?
yyy.h包含了标题xxxx.
例如,我使用:
typedef CP_M_ReferenceCounted FxRC;
Run Code Online (Sandbox Code Playgroud)
我已经加入CP_M_ReferenceCounted.h了yyy.h
我缺少一些基本的理解,它是什么?
看来您需要相应地引用名称空间。例如,以下yyy.h和test.cpp与您的问题相同:
//yyy.h
#ifndef YYY_H__
#define YYY_H__
namespace Yyy {
class CP_M_ReferenceCounted
{
};
}
#endif
//test.cpp
#include "yyy.h"
typedef CP_M_ReferenceCounted FxRC;
int main(int argc, char **argv)
{
return 0;
}
Run Code Online (Sandbox Code Playgroud)
错误将是
...error: CP_M_ReferenceCounted does not name a type
Run Code Online (Sandbox Code Playgroud)
但是添加一行“使用名称空间Yyy;”。解决了以下问题:
//test.cpp
#include "yyy.h"
// add this line
using namespace Yyy;
typedef CP_M_ReferenceCounted FxRC;
...
Run Code Online (Sandbox Code Playgroud)
因此,请检查.h标头中的名称空间范围。
| 归档时间: |
|
| 查看次数: |
60425 次 |
| 最近记录: |