| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 694 人关注过本帖
标题:帮忙看看那错了
只看楼主 加入收藏
dong152liang
Rank: 2
来 自:廊坊
等 级:论坛游民
帖 子:56
专家分:29
注 册:2009-11-8
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:7 
帮忙看看那错了
程序代码:
#include<iostream>
using namespace std;
int main()
{
    void swap(int x,int y,int z);
    int x,y,z;
    cout<<"Please enter three number:";
    cin>>x>>y>>z;
    swap(x,y,z);
    return 0;
}
void swap (int &a,int &b,int &c)
{
    int d;
    if (a>b){d=a;a=b;b=d;}
    if(c>b)cout<<a<<" "<<b<<" "<<c<<endl;
    else if(c<a)cout<<a<<"  "<<a<<"  "<<b<<endl;
    else cout<<a<<" "<<c<<" "<<b<<endl;
}
运行结果
Configuration: 1 - Win32 Debug--------------------
Linking...
11.obj : error LNK2001: unresolved external symbol "void __cdecl swap(int,int,int)" (?swap@@YAXHHH@Z)
Debug/1.exe : fatal error LNK1120: 1 unresolved externals
执行 link.exe 时出错.

1.exe - 1 error(s), 0 warning(s)
2010-03-18 13:12
玩出来的代码
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:河南新乡
等 级:贵宾
威 望:11
帖 子:742
专家分:2989
注 册:2009-10-12
收藏
得分:5 
void swap(int&,int&,int&); 声明

离恨恰如春草,更行更远还生。
2010-03-18 14:16
hahayezhe
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:湖南张家界
等 级:贵宾
威 望:24
帖 子:1386
专家分:6999
注 册:2010-3-8
收藏
得分:0 
如果你为了 测试引用 你可以把此函数 放在main函数上面 这样 就不需要在main()里定义了
2010-03-18 16:50
apull
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:三体星系
等 级:版主
威 望:216
帖 子:1509
专家分:9241
注 册:2010-3-16
收藏
得分:0 
swap的聲明和定義不一樣。
設置成一樣的。

void swap (int &a,int &b,int &c)
也不對。用int *聲明參數。
使用的時候用int &傳入參數
2010-03-18 17:05
ltyjyufo
Rank: 9Rank: 9Rank: 9
来 自:未来
等 级:蜘蛛侠
威 望:2
帖 子:353
专家分:1166
注 册:2009-10-25
收藏
得分:0 
   !!!!如果你的函数是写在main函数之前,你可以不要进行函数申明,单定义在main函数之后,就一定要对他进行申明,否则电脑就不知道你那是什么东西了。。。。。。

翱翔天空的雄鹰固然令人羡慕,却容易被禁锢于牢笼之中,只有那夜色中的蝙蝠才是真正自由的飞翔者....
2010-03-18 17:52
dong152liang
Rank: 2
来 自:廊坊
等 级:论坛游民
帖 子:56
专家分:29
注 册:2009-11-8
收藏
得分:0 
谢谢各位的点评  我解释一下  我是使用“变量的引用” 我知道把定义的函数放在主函数前在主函数中可以不声明  我就是想知道如果主函数在定义函数前怎么声明  
2010-03-18 22:08
Cove_Xy
Rank: 2
等 级:论坛游民
帖 子:2
专家分:10
注 册:2010-3-19
收藏
得分:10 
回复 6楼 dong152liang
#include<iostream>
using namespace std;
//这样就是声明
void swap(int &,int &,int &);
//声明结束
int main()
{
    int x,y,z;
    cout<<"Please enter three number:";
    cin>>x>>y>>z;
    swap(x,y,z);
    return 0;
}
void swap (int &a,int &b,int &c)
{
    int d;
    if (a>b){d=a;a=b;b=d;}
    if(c>b)cout<<a<<" "<<b<<" "<<c<<endl;
    else if(c<a)cout<<a<<"  "<<a<<"  "<<b<<endl;
    else cout<<a<<" "<<c<<" "<<b<<endl;
}
2010-03-19 03:58
chsteven
Rank: 2
等 级:论坛游民
帖 子:4
专家分:10
注 册:2010-3-19
收藏
得分:5 
以下是引用dong152liang在2010-3-18 22:08:38的发言:

谢谢各位的点评  我解释一下  我是使用“变量的引用” 我知道把定义的函数放在主函数前在主函数中可以不声明  我就是想知道如果主函数在定义函数前怎么声明  
楼上已经有人说得很明白了,请仔细看下你的声明和定义
void swap(int x, int y, int z);

void swap(int &x, int &y, int&z)
{
    。。。
}
2010-03-19 12:21
快速回复:帮忙看看那错了
数据加载中...
 
   



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

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