我有一个像这样的课程:
基数.h
class Base {
public:
Base();
virtual int getInfo(int i);
protected:
int GetDetail (int iVal);
}
inline int Base::getInfo(int i){
int output = GetDetail(i);
return output;
};
Ib Base.cpp,我定义了 GetDetail。
int Base::GetDetail(int i){
int output;
// do work to output
return output;
}
我有一些派生类从它们自己的实现 getInfo() 中调用 GetDetail。
当我从 Base.h 中的虚函数定义中删除对 getInfo() 的调用时,代码将通过派生类自己的实现进行编译。
当我使用从内联虚函数调用 GetDetail 的虚函数进行编译时,链接失败并显示:
未定义对 GetDetail 的引用。
有任何想法吗?