错误一:
在头文件中,类外面定义成员函数没有加 inline
关键字
并且在 .CPP
文件中包含了头文件。
Query.h
class Query
{
public:
Query(const std::string&); //创建一个新的 WordQuery 对象
private:
Query(std::shared_ptr<Query_base> query) : q(query) {}
std::shared_ptr<Query_base> q;
};
inline //在头文件中定义成员函数 一定要加 inline
Query::Query(const std::string &s) : q(new WordQuery(s)) { }