Делаю Makefile, и получать эту ошибку:Makefile «fdopen: Плохой дескриптор файла» ошибка
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)
данные не включают в себя ничего, и вообще включает в себя только 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, и я также пытался переместить тривиальные реализации конструктора и деструктор в .cpp файл. Все вышесказанное не сработало. Пожалуйста, помогите - я застрял в этом файле в течение нескольких часов, и это сводит меня с ума! Благодаря!
вы получите то же самое сообщение об ошибке при запуске '' г ++ напрямую, а не через Makefile ли? –