簡體   English   中英

在.h文件中的#include .cpp在包含保護結束之前

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

我最近收到了一個定義為.h文件的作業。 在底部的.h文件中,該文件#include .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文件

不要在頭文件中執行此操作:#include MyClass.cpp分別在Myclass.cpp內編譯MyClass.cpp,請執行以下操作:

#include MyClass.hpp

要么

#include MyClass.h

無論您擁有什么。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM