C ++循环包含问题[重复]

    这个问题在这里已有答案:                           由于类之间的循环依赖性而解决构建错误                                      9个答案                                    
已邀请:
摆脱
logger.hpp
中的
#include "event.hpp"
- 如果你需要的是对函数原型中的
Event
对象的引用,则
class Event
的前向声明应该足够了:
#ifndef _LOGGER_HPP_
#define _LOGGER_HPP_

// #include "event.hpp"  // <<-- get rid of this line

class Event; // Forward decl

// Class definitions
...
logger.cpp
中实施
class Logger
可能需要包括
event.hpp
。     
当你转发声明时,不要放入
#include
。这样做
class Event;
class Logger {
public:
    /*!
     * Constructor
     */
    Logger();
    /*!
     * Destructor
     */
    ~Logger();
    /*!
     * My operator
     */
    Logger& operator<<(const Event& e);
private:
    ...
};
没有
#include "event.hpp"
    

要回复问题请先登录注册