源程序
                          --c1.h---
#include <stdio.h>
#include <stdlib.h>
#define Ok         1
#define Error      0
#define OverFlow  -1
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                           
                         ---c2.h---
//创建链表节点的结构.
typedef int ElemData; //指定链表中数据的类型.typedef struct Node{
ElemData data;
Node *next;
}Node;
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~`                      ---LinkList.cpp---
#include "c1.h"
#include "c2.h"Node *CreateLinkList(int n) {...}int InsertNode(Node *head,int i,ElemData e) {...}int DeteleNode(Node *head,int i,int *e) {...}void OverLinkList(Node *head){...}int setNodeData(Node *p,int data){...}
~~~~~~~~~~~~~~~~~~~~~~~`~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     
                      ---MainLinkList.cpp---
#include "LinkList.cpp"void main() {
Node *head,*p;
head = CreateLinkList(3);
p = head;
}编译都没有问题,
但是在bulid时候报错。
Linking...
MainLinkList.obj : error LNK2005: "struct Node * __cdecl CreateLinkList(int)" (?CreateLinkList@@YAPAUNode@@H@Z) already defined in LinkList.objMainLinkList.obj : error LNK2005: "int __cdecl InsertNode(struct Node *,int,int)" (?InsertNode@@YAHPAUNode@@HH@Z) already defined in LinkList.objMainLinkList.obj : error LNK2005: "int __cdecl DeteleNode(struct Node *,int,int *)" (?DeteleNode@@YAHPAUNode@@HPAH@Z) already defined in LinkList.objMainLinkList.obj : error LNK2005: "void __cdecl OverLinkList(struct Node *)" (?OverLinkList@@YAXPAUNode@@@Z) already defined in LinkList.objMainLinkList.obj : error LNK2005: "int __cdecl setNodeData(struct Node *,int)" (?setNodeData@@YAHPAUNode@@H@Z) already defined in LinkList.objDebug/yf_console.exe : fatal error LNK1169: one or more multiply defined symbols found
执行 link.exe 时出错.yf_console.exe - 1 error(s), 0 warning(s)是什么问题呀,困扰我好几天了。再过几天就要考试了,肯请各位大侠帮帮小弟吧。
最好能讲的详细些

解决方案 »

  1.   

    #include "LinkList.cpp" 楼主还多有创意。。
      

  2.   

    见笑了呀,我得意思是将链表的一些基本操作放在一个单独的文件中。
    怎么改呀,改成LinkList.h吗。
    老师给的 实训例子程序 中就是这么写的呀。
    有#include "xxx.cpp"
      

  3.   

    #include "LinkList.cpp"多重定义了
    还是弄个头文件,把函数声明放在头文件里
      

  4.   

    确实把LinkList.cpp改为LinkList.h就可以了。如果一定要.cpp的话,在工程->设置(Alt+F7)->连接->分类(自定义)中选上“强制文件输出”也可以。只知道这样改,不知道为什么会出现连接错误,有待高手明示。