我最近收到了一个定义.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文件中#include我的.h文件时,它完全编译
我不允许更改此作业中的任何.h文件
答案 0 :(得分:1)
不要在头文件中执行此操作: #include MyClass.cpp 单独编译MyClass.cpp并在Myclass.cpp中编译:
#include MyClass.hpp
或
#include MyClass.h
无论你拥有什么。