关于C语言函数形参传递的问题!

csc_xixi 2011-06-24 10:39:09
程序描述如下:

typedef struct node
{
char buf[20];
char type;
}word_information;

在A.h中:
void CreateTree(word_information *p);

在A.cpp中:
#include "A.h"
CreateTree(word_information *p)
{
//访问p
//实现
}

在mian.cpp中:
#include <stdio.h>
#include "A.h"

int main()
{
//p的初始化等

CreateTree(p);

return 0;
}

编译器却报告说连接错误!
test.obj : error LNK2001: unresolved external symbol "void __cdecl CreatTree(struct node *)" (?CreatTree@@YAXPAUnode@@@Z)
Debug/Test.exe : fatal error LNK1120: 1 unresolved externals
...全文
109 20 打赏 收藏 转发到动态 举报
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
csc_xixi 2011-06-24
  • 打赏
  • 举报
回复
回复四楼:
那个p是在main.cpp中定义的
csc_xixi 2011-06-24
  • 打赏
  • 举报
回复
回复一楼:
那个void加了,是我打字的时候打漏了!
ddownload 2011-06-24
  • 打赏
  • 举报
回复
c语言的搞个*.cpp干啥呢这是
金刚葫芦娃 2011-06-24
  • 打赏
  • 举报
回复
//p的初始化等

CreateTree(p);


void CreateTree(p);

还有你的P在哪定义的.什么类型,什么值.
就想叫yoko 2011-06-24
  • 打赏
  • 举报
回复
+1[Quote=引用 1 楼 bdmh 的回复:]
在A.cpp中:
#include "A.h"
CreateTree(word_information *p),这个CreateTree前面不加void ?
[/Quote]
  • 打赏
  • 举报
回复
我也没有看出问题,得请高手。
bdmh 2011-06-24
  • 打赏
  • 举报
回复
在A.cpp中:
#include "A.h"
CreateTree(word_information *p),这个CreateTree前面不加void ?
csc_xixi 2011-06-24
  • 打赏
  • 举报
回复
谢谢楼上的各位,问题解决了,是我.h和.cpp文件中的函数名不一致,就差一个字母。

大家的回复还是让我学到了很多,谢谢大家
pingdan32 2011-06-24
  • 打赏
  • 举报
回复
你的P定义是在main.cpp中???
那么你的函数文件A.cpp里的p从哪来的???
应该是:

//A.h
typedef struct node
{
char buf[20];
char type;
}word_information;
void CreateTree(word_information* p);

// A.cpp
#include "A.h"
void CreateTree(word_information* p)
{
// 实现····
}

// main.cpp
#include <stdio.h>
#include "A.h"

int main()
{
// 测试·····
}

[Quote=引用 7 楼 csc_xixi 的回复:]
回复四楼:
那个p是在main.cpp中定义的
[/Quote]
金刚葫芦娃 2011-06-24
  • 打赏
  • 举报
回复
test.obj : error LNK2001: unresolved external symbol "void __cdecl CreatTree(struct node *)"


把P定义跟赋值的源码发出来看看吧.
lifesider 2011-06-24
  • 打赏
  • 举报
回复
A.cpp未编译?
csc_xixi 2011-06-24
  • 打赏
  • 举报
回复
回复九楼:
不太明白你的意思
csc_xixi 2011-06-24
  • 打赏
  • 举报
回复
回复八楼:
这两个文件是在VC的一个工程中的。肯定一起编译了
如此美丽的你 2011-06-24
  • 打赏
  • 举报
回复
注意函数的声明和调用的区别!!!
vrace 2011-06-24
  • 打赏
  • 举报
回复
a.cpp 没有和 main.cpp 一起编译

69,371

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧