2017-02-20 31 views
0

当我编译上VS2015这个代码我得到以下错误C++模板构件funtion “标识符未找到”

错误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) 
     this->Shutdown(); 
} 

我收到错误C2039 'Shutdown': is not a member of 'ThreadManager'

我该如何解决这个问题?

+0

'Shutdown'!='ShutDown'。投票结束为ot/typo。 – WhozCraig

+0

投票结束为错字。 – Steeve

+0

**使用自动完成**。这不仅仅是输入更少的字符。我还发现,停下来,喘口气,睁大眼睛有时候会有所帮助。 – bolov

回答

1

案例问题。您正在使用骆驼情况ShutDown的声明,但在析构函数Shutdown

1

当编译器讲述了一个错误,这意味着它。 函数名称是ShutDown。

1

你的方法名是ShutDown()但你的呼吁shutdown()