C++ 错误:(类名)未命名类型
C++ Error: (class name) does not name a type
我收到错误"MyIsland未命名类型",但没有收到错误"MyList未命名类型"。为什么以及如何解决此问题?
编辑:我认为这是由于在头文件中具有列表类,但MyIsland类在单独的文件中,但是有没有办法在不移动MyIsland类的情况下解决此问题?
这是我文件的一部分:
主.cpp
#include "header.h"
class ArchipelagoExpedition
{
private:
MyIsland* darr;
int islands;
public:
ArchipelagoExpedition();
ArchipelagoExpedition(int is);
...
岛.cpp
#include "header.h"
class MyIsland
{
private:
MyList adjList;
MyList visList;
public:
...
MyListAndNode.cpp
//list methods
...
}
标题.h
//list and node class
...
您的程序找不到MyIsland
。阅读本文以找出原因。
类的声明应该在头文件中(.h
,.hpp
...),而源文件中的实现(.cc
,.cpp
...)。在您的情况下,我会做这样的事情:
- 类
List
list.hpp
(声明)list.cpp
(实施)
- 类
Island
island.hpp
(声明)island.cpp
(实施)
在上述情况下,您应该在island.hpp
中包含list.hpp
,island.hpp
包含在main.cpp
中,它将起作用。
哦...我现在有同样的问题。它是由声明与类名具有相同元素的枚举引起的,例如:
enum Templates
{
Temp1,
Temp2
};
class Temp1
{
};
class Temp
{
Temp1 m_temp1; // error here
};
这就是为什么枚举应该用大写字母书写。检查您是否没有类似的东西。
相关文章:
- C++包含函数标头会给出错误'__dest'未命名类型
- 错误:"cast"未命名类型void setCastDescription(std::string
- C++ 错误:(类名)未命名类型
- src/caffe/parallel.cpp:70:1:错误:“参数”未命名类型
- 错误:'int_type'未命名类型 - 如何继承 typedefs 和用法
- 如何修复错误,迭代器未在此范围内声明,并且迭代器未命名类型'
- 使用 mex 编译库时出错 - __int 64 未命名类型
- 错误:"某个类"未命名类型。如何解决这个问题?
- 命名空间中的'bad_cast' 'std' 未命名类型错误
- QT:错误 ["*"令牌之前的预期")",并且主窗口未命名类型]
- "root"未命名类型错误
- Stack.h:13:3:错误:“单元格”未命名类型
- 错误:命名空间“PQXX”中的“行”未命名类型
- YYY 中的错误 XXX 未命名类型
- C 构建错误:类未命名类型
- 错误:"QGeo坐标"未命名类型
- 错误:"__NDK_FPABI__"未命名类型
- 错误 - 列表节点未命名类型
- android-ndk-r6-crystax-2 错误:命名空间'std'中的'string'未命名类型
- 错误:未命名类型(使用 auto)