注册 登录
编程论坛 C++教室

这段程序是书上的,但是不能运行,高手帮忙看下是程序问题还是软件问题?

gzliujie5 发布于 2011-08-15 11:38, 979 次点击
#include "iostream.h"
void output(char a);
int main()
{
    char temp;
    cin>>temp;
    output(temp);
    return 0;
}

这个程序不能运行,怎么回事?帮忙看看,错误提示我看不懂~~~

--------------------Configuration: Cxuexi - Win32 Debug--------------------
Linking...
world.obj : error LNK2001: unresolved external symbol "void __cdecl output(char)" (?output@@YAXD@Z)
Debug/Cxuexi.exe : fatal error LNK1120: 1 unresolved externals
执行 link.exe 时出错.

Cxuexi.exe - 1 error(s), 0 warning(s)

翻译出来是:

--------------------配置:Cxuexi - Win32调试--------------------
链接...
world.obj:错误LNK2001:无法解析的外部符号“无效__cdecl输出(char)的”(输出@ @ YAXD@ Z?)
调试/ Cxuexi.exe:致命错误LNK1120:1无法解析的外部
执行LINK.EXE时出错。

Cxuexi.exe - 1个错误(S),0个警告(S)
13 回复
#2
naruto012011-08-15 13:29
看的是国内写的?   一些东西不是很规范,你确定上下文没少?  然后可以了解阅读,如果要较真每一段代码,还是国外的好。
#3
zhoufeng19882011-08-15 13:40
程序代码:
#include "iostream.h"
void output(char a);
int main()
{
    char temp;
    cin>>temp;
    output(temp);
    return 0;
}

这个是链接错误嘛,就是没有找到哦啊output函数的定义。所以LINK当然会不认识output这个符号了。
#4
icecream2352011-08-15 14:14
对啊,没函数定义
#5
brian19942011-08-15 14:21
#include "iostream.h"
改为
#include<iostream>
using namespace std;
#6
baobaoisme2011-08-15 14:34
自己把output函数补上不就行了
#7
jcw081201102011-08-15 15:40
程序代码:
#include "iostream"  // .h 去掉 不然你不能使用名空间std
using namespace std; // 加上这句;不然你不能使用cin 和cout。。。
void output(char a){
    cout<<a<<endl;  //这里多一个函数体 函数没有函数体不能运行的;
}
int main()
{
    char temp;
    cin>>temp;
    output(temp);
    return 0;
}


[ 本帖最后由 jcw08120110 于 2011-8-15 15:52 编辑 ]
#8
博士无双2011-08-16 07:30
函数output没有定义
#9
lucky5635912011-08-16 15:38
光有output声明没有定义当然错咯
#10
tiantiancc2011-08-17 00:56
我晕。。。
#11
valtti2011-08-18 11:39
using namespace std; // 加上这句;不然你不能使用cin 和cout。。。
不加好像也能用哟
#12
valtti2011-08-18 11:41
using namespace std; // 加上这句;不然你不能使用cin 和cout。。。
不加好像也能用哟
我也是个初学者,但是不明白这句的意思《using namespace std;》
#13
含泪冰淇淋★2011-08-20 00:26
iostream.h  非标准吧
 另外 本人刚学习c++  那个output和cout有什么区别?
#14
天蝎殿2011-08-22 12:33
程序代码:
#include "iostream.h"

using namespace std;

void output(char a)
{
cout << a << endl;
}
int main()
{
    char temp;
    cin>>temp;
    output(temp);
    return 0;
}

1