问题背景:
在linux上已配置好c++以及vscode的环境,觉得所有函数都在一个.cpp文件里太冗余,所以想把一些可以反复使用的函数放在单独的cpp文件下,用.h文件引用。举一个简单的例子,main.cpp调用head.cpp里实现的函数,函数声明写在head.h里。
常年不用C++,突然忘记外部函数怎么调用了,从hello world复习,遇到了问题并解决。
问题1:head.h: 没有那个文件或目录
解决1:把#include "head.h"改成#include “head.h”
问题2:对‘add(int, int)’未定义的引用
解决2:g++ main.cpp head.h head.cpp 包括头文件和有函数的文件要一起编译
问题3:编译好之后生成main,运行时提示 main:未找到命令
解决3:在有main文件的当前目录下输入./main,这是linux下执行的方式
上代码,转自别人:
main.cpp
#include<iostream>
#include "head.h"
using namespace std;
int main()
{
int a,b;
cout<<"input a,b: ";
cin>>a>>b;
add(a,b);
}
head.cpp
#include<iostream>
using namespace std;
int add(int a,int b)
{
cout<<a<<"+"<<b<<"="<<a+b<<endl;
return 0;
}
head.h
#include <iostream>
int add(int ,int );