| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 691 人关注过本帖
标题:编译时没错误,可构件时却出现了错误??
只看楼主 加入收藏
惊蛰
Rank: 1
等 级:新手上路
帖 子:28
专家分:0
注 册:2005-10-11
收藏
 问题点数:0 回复次数:1 
编译时没错误,可构件时却出现了错误??

输入一个字符串的反序存放的题: #include<iostream.h> char reverse(char); void main() { char a[10];int i; for(i=0;i<10;i++) { cout<<"请输入第"<<i+1<<"个字符:"<<endl; cin>>a[i]; } cout<<""; for(i=0;i<10;i++) cout<<"它的正序是:"<<a[i]; cout<<endl; cout<<"它的反序是:"<<reverse(a[10])<<endl; } char reverse(char b[10]) { for(int i=0;i<10;i++) { int w=b[i]; b[i]=b[i-1]; b[i-1]=w; } return b[10]; } 编译时没错误,可构件时却出现了错误??错误提示为: Linking... 反序存放.obj : error LNK2001: unresolved external symbol "char __cdecl reverse(char)" (?reverse@@YADD@Z) Debug/反序存放.exe : fatal error LNK1120: 1 unresolved externals Error executing link.exe.

反序存放.exe - 2 error(s), 0 warning(s) 这到底是怎么回事儿呀,谢谢高手来帮忙解决呀。我刚开始学c++。 好象是调用函数的时候哪儿出了毛病吧?

搜索更多相关主题的帖子: 构件 编译 
2005-10-16 20:12
踏魔狼
Rank: 6Rank: 6
等 级:贵宾
威 望:24
帖 子:1322
专家分:33
注 册:2005-9-22
收藏
得分:0 

#include<iostream.h> char* reverse(char b[10]); //用数组名作函数参数时,此时传递的是数组的首地址.

void main() { static char a[10]; int i; for(i=0;i<10;i++) { cout<<"请输入第"<<i+1<<"个字符:"<<endl; cin>>a[i]; } cout<<""; cout<<"它的正序是:"; for(i=0;i<10;i++) cout<<a[i]; cout<<endl; cout<<"它的反序是:"<<reverse(a)<<endl; /*这里reverse(a[10])要是一个地址.a[10]就不是一个地址了.*/ } char* reverse(char b[10]) { for(int i=0;i<5;i++) /*每一次循环要用两个元素,所以只要5次的循环.十次它就又会变成原来的值了!*/ { char item=b[i]; b[i]=b[9-i]; b[9-i]=item; } return b; }


=×&D o I p R e E n C g T l X&×=
2005-10-18 22:02
快速回复:编译时没错误,可构件时却出现了错误??
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.045081 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved