枚举不命名类型

use*_*339 4 c++ qt

我有一堂课Response说.

#include "NetworkResponse.h"


class NetworkResponse;

class Response {
public:
    Response();
    virtual ~Response();
    Response(NetworkResponse * networkResponse);

    NetworkResponses responseCode; // This is an enum and here I get an error


};

#endif  
Run Code Online (Sandbox Code Playgroud)

NetworkResponses实际上是一个定义的枚举"NetworkResponse.h".像这样:

// "NetworkResponse.h":
#include "Response.h"

enum NetworkResponses {
    Success = 1,
    UserAlreadyExists = 2,
    InvalidUsername = 3,
        SecurityError = 4,
        UnknownError = 5

};
class Response;


class NetworkResponse {

public:
    NetworkResponse();
    virtual ~NetworkResponse();

};
Run Code Online (Sandbox Code Playgroud)

但是当我尝试编译时,我得到一个错误:" NetworkResponsesResponse类定义中没有命名类型" .有人可以帮忙吗?我想我错过了一些简单的事情.我想我能够成功地在其他类中使用这个枚举,不知道在这种情况下有什么问题...谢谢.

jua*_*nza 5

你有一个循环包含依赖:NetworkResponse.h包括Response.h,反之亦然.这不行.NetworkResponse.h根本不需要包括Response.h,所以你可以删除包含.