请教简单的C++多文件连接问题(请针对问题对答,谢谢!)

来源:百度知道 编辑:UC知道 时间:2024/07/05 06:03:59
//文件1是头文件
int Fabricate(int,int);
int Multi(int,int);

//文件2放一个函数Fabricate
int Fabricate(int m,int n)
{
return Multi(m,m-n+1)/Multi(n,1);
}

//文件3放一个函数Multi
int Multi(int m,int n)
{
int i,s=1;
for(i=m;i>=n;i--)
s*=i;
return s;
}

//文件4放main
#include<iostream.h>
#include"myheadfile.h"
using namespace std;
void main()
{
int m,n;
cout<<"请输入m";
cin>>m;cout<<endl;
cout<<"请输入n";
cin>>n;
cout<<endl<<"组合数为:"<<Fabricate(m,n);
}

我将四个文件的内容放在一个文件里编译成功,可是分成多个文件放在一个工程里连接时出现错误:

d:\program files\vc98\myprojects\123\fabricate.cpp(3):error C2065: 'Multi' : undeclared identifier

错误指向return Multi(m,m-n+1)/Multi(n,1); 这一行

请问是怎么回事?
谢谢!
-----------------------------

文件2和文件3需要包含文件1。其实头文件的作用就是声明。从理论上讲,文件3不需要包含文件1,但包含进来是一个习惯写法。
至于选了win32 Application的话,在Project -> Setting -> C++ -> Project Option中找到"_WINDOWS",删掉,或者改成"_CONSOLE"。

你需要在文件2中也加入一行
#include"myheadfile.h"

\fabricate.cpp里面没有包含头文件,把头文件加进去 #include"myheadfile.h" 还要声明

别跟我说你选了win32 Application? 不然怎么会有winmain做入口?

哇‘‘看不懂也 ‘但还是要冒个泡