遇到的完整报错是这样的:
error LNK2019: 无法解析的外部符号 "public: __thiscall Person::Person(void)" (??0Person@@QAE@XZ),函数 "public: class Person __thiscall Person::operator+(class Person &)" (??HPerson@@QAE?AV0@AAV0@@Z) 中引用了该符号
这个报错是在学习C++的过程中遇到的,查了很多解决办法都没管用
仔细查看代码的时候发现犯了一个低级错误:
类中声明了一个无参构造,在内外没有实现
解决方法就是:给声明的无参构造加上 { }
或者在类外实现一下无参构造也行 手动狗头🐕
原报错代码(展示部分):
class Person
{
Person();
}
修改后正常运行代码(展示部分):
class Person
{
Person(){};
}
本来代码是可以正常运行的,后来写了一个 operator+ 的重载 , 再运行就出现了以上报错,排查了很久才发现
还是IDEA用的方便