环境说明:
QT版本5.12.0,QT Creater版本4.8.0X64,WIN10 64位,编译、调试器VS2015 amd64
创建一个类的时候,可能包含很多成员变量及成员函数,每个成员函数代码量可能非常大,这样就希望将成员函数 的实现放到独立的新的.cpp文件,形成一个.h文件类声明,多个.cpp文件类成员函数实现。实现方法如下:
//A.h
class A
{
public:
A();
~A();
public:
int a,b,c;
public:
//成员函数1
void fun1();
//成员函数2
void fun1();
//成员函数3
void fun1();
...
};
//1.cpp
#include "A.h"
void A::func1()
{
//do somting
}
//2.cpp
#include "A.h"
void A::func2()
{
//do somting
}
//3.cpp
#include "A.h"
void A::func3()
{
//do somting
}
注意,经过试验验证(好吧,其实是把我折磨了几个小时,一点点排除发现的,网上也没见相关说明),分离出来的.cpp文件不要超过5个。
如果超过5个,就会报链接错误,无法构建。爆出的错误如下:
cl.exe中的内部编译器错误
cl: 命令行 error D8000
个人理解应该是和编译器有关,有兴趣的可以查查。