#在include保护结束之前将.cpp包含在.h文件中

#include .cpp in .h file before the end of include guard

本文关键字:包含 cpp 文件 include 保护 结束      更新时间:2023-10-16

我最近收到一个定义.h文件的赋值。在这个位于底部的.h文件中,它#包括.cpp文件。例如

#ifndef CLASS_H
#define CLASS_H
class MyClass
{
  //variablles and methods
};
#include MyClass.cpp
#endif 

现在,当我尝试为.cpp文件编写定义时,问题就出现了。例如,当我试图定义构造函数时,它会给我一个错误

 error: ‘MyClass’ does not name a type

当我试图定义操作员重载函数时,我也会出错

我知道这些错误只适用于上述情况,因为当我#在.cpp文件中包含.h文件时,它会完美地编译

我不允许更改此任务中的任何.h文件

不要在头文件中执行此操作:#包括MyClass.cpp单独编译MyClass.cpp并在MyClass.cpp内编译,具有:

#include MyClass.hpp

#include MyClass.h

不管你有什么。