2017-02-20 56 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()