当我在VS2015上编译此代码时,我收到以下错误
错误C3861 'Shutdown': identifier not found
template<class T, class... ARG>
class __declspec(dllexport) ThreadManager
{
public:
void ShutDown();
~ThreadManager();
};
template<class T, class... ARG>
void ThreadManager<T, ARG...>::ShutDown()
{
//do stuff
}
错误在此代码中
template<class T, class... ARG>
ThreadManager<T, ARG...>::~ThreadManager()
{
if (isRunning)
Shutdown();
}
如果我将其更改为
template<class T, class... ARG>
ThreadManager<T, ARG...>::~ThreadManager()
{
if (isRunning)
this->Shutdown();
}
我收到错误C2039 'Shutdown': is not a member of 'ThreadManager'
我该如何解决这个问题?
答案 0 :(得分:1)
案件问题。您在声明中使用驼峰大小写ShutDown
,但在析构函数中使用Shutdown
。
答案 1 :(得分:1)
当编译器发出错误时,表示错误。 函数名称为ShutDown。
答案 2 :(得分:1)
您的方法名称为ShutDown()
,但您正在调用shutdown()