问题描述:
multiTest.cpp:
#include <iostream>
using namespace std;
#pragma once
void onlyTest() {
cout << "multiTest.cpp" << endl;
}
主cpp文件 #include "mutiTest.cpp"
在main函数中调用了mutiTest中的onlyTest函数,然后就报错了,说重定义。尝试过extern,pragma once 均无效
原因是 主cpp 中include了mutiTest.cpp ,mutiTest.cpp编译了一次,又在主cpp中又编译了一次。
解决方案:
1.创建一个对应的.h文件,例如本文中multiTest.cpp => mutiTest.h
2.主cpp中使用 #include mutiTest.h 即可正常运行了
希望能有帮助,有效来个赞吧 ^-^