Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/130.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/63.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ C++;标题中的交叉指针_C++_C - Fatal编程技术网

C++ C++;标题中的交叉指针

C++ C++;标题中的交叉指针,c++,c,C++,C,我有两个简单的类,非常简单的一个类似于主表,包含指向类2的指针列表,类2包含指向类1的指针。在每个类中都有函数通过指针调用方法,但我得到的错误如下 错误C2027:使用未定义类型 ---- class One.h" #include "Two.h" class One { public: list<Two*> something; void t(){pointer on Two call methods} }; 如何解决此问题?将方法定义移动到.cpp,并将所需的标题与类型定义一

我有两个简单的类,非常简单的一个类似于主表,包含指向类2的指针列表,类2包含指向类1的指针。在每个类中都有函数通过指针调用方法,但我得到的错误如下 错误C2027:使用未定义类型

---- class One.h"
#include "Two.h"

class One {
public:
list<Two*> something;
void t(){pointer on Two call methods}
};

如何解决此问题?

将方法定义移动到
.cpp
,并将所需的标题与类型定义一起包含

Two.h
class One;
class Two {
public:
    One* something;
    void t();
};

Two.cpp:
void Two::t() {...}

这是必需的,因为编译器无法生成用于调用未定义类型的方法的代码

,因此,您还可以通过将其替换为
类2来避免在一个.h中包含两个.h
@Black:是的,这将加快编译速度
Two.h
class One;
class Two {
public:
    One* something;
    void t();
};

Two.cpp:
void Two::t() {...}