c++高手进来

来源:百度知道 编辑:UC知道 时间:2024/05/24 11:47:49
m01.cpp
#include<iostream>
using namespace std;
int main()
{
print_star();
return 0;
}
m02.cpp
#include<iostream>
using namespace std;
void print_star()
{
cout<<"***********"<<endl;
}
以上两个文件我一起编译为什么通不过啊,该怎样改。
楼下的 帮我改下好吗

楼上的不对,虽然这样结果正确,但是实际上是错误的。
因为include cpp的话就是把m02.cpp在m01.cpp中打开,对编译器来说同一个工程中的m02.cpp相当于编译了两次。
正确的用法是:
1.首先保证m01.cpp与m02.cpp两个文件在同一个工程里,然后在m01.cpp的main()前面加一句:extern void print_star();
即改为:
#include <StdAfx.h>
#include<iostream>
using namespace std;
extern void print_star();// addition
int main()
{
print_star();
return 0;
}
即可。

注意:m01.cpp与m02.cpp要在一个工程内,这样才可以一起编译。

先声明一下那个print_star

m01.cpp
#include "m02.cpp"
#include<iostream>
using namespace std;
int main()
{
print_star();
return 0;
}
m02.cpp
#include<iostream>
using namespace std;
void print_star()
{
cout<<"***********"<<endl;
}