2

好吧,我有以下问题..我有 main.cpp

#include "serverClass.h"
...

然后在 serverClass.h 中,

#ifndef SERVERCLASS_H_
#define SERVERCLASS_H_
#include <stdio.h>
#include <stdlib.h>
#include "clientThread.h"
....

在clientThread中,

class ClientThread {
private:
serverClass* server;
....

但是当它试图编译 ClientThread 时,它说 serverClass 不是一个类型,因为它还没有被编译。我无法避免在 serverClass 中包含 clientThread.h。无论如何要告诉编译器有一个尚未编译的名为 serverClass 的类型?

4

2 回答 2

3

您需要转发 delcare serverClass

class serverClass;

class ClientThread {
private:
serverClass* server;
....
于 2013-04-30T16:44:56.233 回答
2

在 clientThread.h 中,在ClientThread类定义之前,您可以 前向声明ServerClass类:

// Forward declaration
class ServerClass;

class ClientThread {
private:
ServerClass* server;
 ....
于 2013-04-30T16:49:30.113 回答