私はメイクファイルを作成していますが、次のエラーが発生します。
List.h:10:18: error: calling fdopen: Bad file descriptor
なぜそれが起こるのか分かりません。List.h の冒頭は次のとおりです。
#ifndef List_h__
#define List_h__
#include "Data.h"
#include "general.h"
#include "Data.h" は 10 行目です。データ、次に一般は、依存関係がメイクファイルに書き込まれる順序です。
List.o: List.cpp List.h Data.h general.h
g++ List.cpp $(f)
data には何も含まれず、general には iostream のみが含まれ、他のクラスには iostream も含まれません。
Data.h は次のとおりです。
#ifndef Data_h__
#define Data_h__
class Data
{
private:
public:
//default constructor
Data() {}
//destructor
virtual ~Data()=0;
/*****************************************************************************
* function name: operator<
* The Input: This Data, other Data
* The output: The operator will compare between two datas. The comparison will
* be used to create a sorted list.
*****************************************************************************/
virtual bool operator<(const Data& other) const =0;
};
Data::~Data() {}
#endif //Data_h__
私は最初、=0 の後に Data のデストラクタの簡単な実装を行いました。また、コンストラクタとデストラクタの簡単な実装を .cpp ファイルに移動しようとしました。上記のすべてが機能しませんでした。助けてください - このメイクファイルで何時間も立ち往生していて、気が狂いそうです! ありがとう!