我正在制作一个makefile,并收到此错误:
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 行。数据,然后是一般是在makefile中写入依赖项的顺序:
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 文件。以上所有方法均无效。请帮忙 - 我已经被这个 makefile 困了几个小时了,这让我发疯了!谢谢!