3

我有两个简单的类,非常简单的一个类似于主表,包含指向类二的指针列表,类二包含一个指向类一的指针。在每个类中都有通过指针调用方法的函数,但我收到 错误 C2027: use of undefined type

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

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

---------class Two.h 
 class One;
class Two {
public:
One* something;
void t(){pointer on One call methods}
};

如何解决这个问题呢 ?

4

1 回答 1

9

将您的方法定义移动到.cpp类型定义中并包含所需的标题。

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

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

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

于 2012-07-27T13:56:45.030 回答