错误LNK2019,模板类继承

时间:2018-12-05 17:13:34

标签: c++ templates inheritance constructor lnk2019

大家好,我只是在制作简单的win32框架。 并且当然在这里遇到了一些问题。

这是带有模板的基类。

Win32.h

#pragma once

#include <Windows.h>

template <class T> 
class Win32
{
public:

    Win32(HINSTANCE _hinstance);

    HINSTANCE hinstance;
};

Win32.cpp

#include "Win32.h"

template <class T>
Win32<T>::Win32(HINSTANCE _hinstance) : hinstance(_hinstance)
{
}

和儿子班

Win32Test.h

#pragma once

#include "Win32.h"

class Win32Test : public Win32<Win32Test>
{
public:
    Win32Test(HINSTANCE _hinstance);
};

Win32Test.cpp

#include "Win32Test.h"

Win32Test::Win32Test(HINSTANCE _hinstance) : Win32(_hinstance)
{
}

我的主要输入内容为空。

输出=>

错误LNK2019:未解决的外部符号“ public: cdecl Win32 :: Win32(struct HINSTANCE *)”(?? 0?$ Win32 @ VWin32Test @@@@ QEAA @ PEAUHINSTANCE __ @@@ Z )在函数“ public: cdecl Win32Test :: Win32Test(struct HINSTANCE *)”(?? 0Win32Test @@ QEAA @ PEAUHINSTANCE __ @@@ Z)中引用。

所以我猜想win32Test类的构造函数无法访问base的构造函数? 有什么办法可以解决这个问题。 希望我只是缺少一些简单的东西。 谢谢

0 个答案:

没有答案