我现在从事有很多课程的项目,有时我需要包括:
Player.h 中的 CSConnection.h 和 CSConnection.h 中的 Player.h,现在我的编译器出现了冲突,例如未定义类名。
头球有后卫,问题出在哪里?
我现在从事有很多课程的项目,有时我需要包括:
Player.h 中的 CSConnection.h 和 CSConnection.h 中的 Player.h,现在我的编译器出现了冲突,例如未定义类名。
头球有后卫,问题出在哪里?
循环依赖只是糟糕的设计。如果您想要让孩子/拥有的对象“了解”它的父母/所有者,您应该向孩子传递 std::function 而不是对所有者的完整引用。
前向声明 - 请参阅http://en.wikipedia.org/wiki/Forward_declaration 或也许使用警卫 'ie #ifdef ...' - http://en.wikipedia.org/wiki/Include_guard
包含保护可防止文件在同一个文件中多次包含,但不能帮助您使用循环包含。您可能想要的是前向声明,但这取决于您的包含文件中的内容。