首先来说一下问题:
我想直接在.h内定义函数并且在main.cpp里面调用,但是出现了问题,代码如下。
.h文件代码:
#pragma once
#include<iostream>
void Conbine(int a, int b)
{
std::cout << a + b << std::endl;
}
.cpp文件代码:
#include"A.h"
main.cpp文件代码:
#include"A.h"
using namespace std;
int main()
{
int a = 1, b = 2;
Conbine(a, b);
return 0;
}
编译时提示:
错误提示的意思就是说Conbine函数重定义了。
接下来说一下编译器编译C++代码时的编译流程:
编译器会先独立的编译每个.cpp文件,生成对应的目标文件,然后目标文件进行链接后生成exe可执行文件