盘子女人坊现代婚纱照:c++初学者的问题,求助啊!

来源:百度文库 编辑:高考问答 时间:2024/04/24 21:15:11
我是自学C++的,所以,如果觉得问题很幼稚不要笑话我哦.
在运行外部函数的定义,说明和调用时,有f1.cpp
f2.cpp ,f3.cpp三个文件.其中f1.cpp中是主调函数,f2.cpp ,f3.cpp里是被定义成的外部函数.
当我编译f1.cpp时无错,可当我运行它时却提示:
Cpp1.obj : error LNK2001: unresolved external symbol "int __cdecl other(int)" (?other@@YAHH@Z)
Cpp1.obj : error LNK2001: unresolved external symbol "int __cdecl last(void)" (?last@@YAHXZ)
Cpp1.obj : error LNK2001: unresolved external symbol "int __cdecl next(void)" (?next@@YAHXZ)
Cpp1.obj : error LNK2001: unresolved external symbol "int __cdecl reset(void)" (?reset@@YAHXZ)
Debug/Cpp1.exe : fatal error LNK1120: 4 unresolved externals
Error executing link.exe.

Cpp1.exe - 5 error(s), 0 warning(s)
这是为什么啊?
f1.cpp:#include<iostream.h>
int i(1);
extern int reset(),next(),last(),other(int);
void main()
{
int i=reset();
for (int j(i);j<=3;j++)
{
cout<<i<<","<<j<<",";
cout<<next()<<",";
cout<<last()<<",";
cout<<other(i+j)<<endl;

}
}
f2.cpp:static int i(10);
extern int next()
{
return i+=1;

}
extern int last()
{
return i-=1;
}
extern int other(ubt i)
{
static int j(5);
return i=j+=1;
}
f3.cpp:extern int j;
extern int reset()
{
return i;
}

编译没错不意味着运行不出错,编译没错是语句没有语法错误,出现这种情况是数据或程序结构的问题,但你又没有给出具体程序,所以……