class Base
{
protected:
template<typename TFunc>
void m_vProcess(TFunc& func) const
{
BasePrivateClass<TFunc> baseprivateobj(func);
// rest of code
}
private:
template<typename TFunc>
class BasePrivateClass
{
public:
BasePrivateClass(TFunc& obj) :m_obj(oParam)
{}
private:
TFunc& m_obj;
};
};
これは私の派生クラスです:
class Derived: public Base
{
private:
class DerivedPrivateClass
{
public:
explicit DerivedPrivateClass(int **p): m_objDerived(poParam)
{}
private:
int** m_objDerived;
};
};
クラスDerivedの関数から、これを試します:
DerivedPrivateClass obj(param);
this->m_vProcess(obj);
複数定義されたシンボルのリンカ エラーが発生します。シンボルは基本クラスと派生クラスの両方で定義されています。
リンカーエラーの原因がわかりません。誰でも助けることができますか?