编译错误:没有这样的文件或目录

时间:2017-03-05 01:57:56

标签: file directory

当我尝试编译我的代码时,我得到了这个:

fatal error: includes.h: No such file or directory.

为什么会抛出此错误?

该程序应该用于演示链接列表。

#include "includes.h"
ListType list[5];
int main()
{
 ListType list[5];
 list[0].value = 0; list[0].next = list+1;
 list[1].value = 10; list[1].next = list+2;
 list[2].value = 20; list[2].next = NULL;
 ListReport(list);
 // Insert an element
 list[3].value = 15; list[3].next = list+2;
 list[1].next = list+3;
 ListReport(list);
 // Remove an element
 list[0].next = list+3;
 ListReport(list);
 return 0;
}
// Report values in linked lisk
void ListReport(ListType *plist)
{
 int nn = 0;
 printf("ListReport\n");
 while(plist != NULL){
 printf("%d, value = %d\n",nn++, plist->value);
 plist = plist->next;
 }
}
/*******************************************************
* includes.h
******************************************************/
#include <stdio.h>
#include <stdlib.h>
typedef struct entry
 {
 int value;
 struct entry *next;
 } ListType;
 void ListReport(ListType *plist);

// end of includes.h

1 个答案:

答案 0 :(得分:0)

您的代码似乎将您的.cpp和.h文件连接到一个。您需要将它们分成2个文件。

像这样:

的main.cpp

#include "includes.h"
ListType list[5];
int main()
{
 ListType list[5];
 list[0].value = 0; list[0].next = list+1;
 list[1].value = 10; list[1].next = list+2;
 list[2].value = 20; list[2].next = NULL;
 ListReport(list);
 // Insert an element
 list[3].value = 15; list[3].next = list+2;
 list[1].next = list+3;
 ListReport(list);
 // Remove an element
 list[0].next = list+3;
 ListReport(list);
 return 0;
}
// Report values in linked lisk
void ListReport(ListType *plist)
{
 int nn = 0;
 printf("ListReport\n");
 while(plist != NULL){
 printf("%d, value = %d\n",nn++, plist->value);
 plist = plist->next;
 }
}

INCLUDES.H

#include <stdio.h>
#include <stdlib.h>
typedef struct entry
{
    int value;
    struct entry *next;
} ListType;
void ListReport(ListType *plist);

或者你可以像你一样组合文件,并从顶部删除#include语句。