2015-06-09 12 views
5

मुझे अपने दो टेम्पलेट्स पर शीर्षक में त्रुटि मिलती है। दोनों में समान घोषणाएं और परिभाषाएं निम्नानुसार हैं:त्रुटि: C2988: अपरिचित टेम्पलेट घोषणा/परिभाषा

template <typename T1, typename T2> void setVideoCodecOption(T1 AVCodecContext::*option, T2 (CR2CVideoCodecSettings::*f)() const); 

template <typename T1, typename T2> 
void EncoderPrivate::setVideoCodecOption(T1 AVCodecContext::*option, (CR2CVideoCodecSettings::*f)() const) 
{ 
    T2 value = (m_videoSettings.*f)(); 
    if (value != -1) { 
     m_videoCodecContext->*option = (m_videoSettings.*f)(); 
    } 
} 

मुझे समझ में नहीं आता कि मुझे इन त्रुटियों को क्यों मिल रहा है। किसी के पास है और विचार है?

धन्यवाद, भालू

उत्तर

5

आप दूसरे समारोह के समारोह पैरामीटर के वापसी प्रकार याद कर रहे हैं।

template <typename T1, typename T2> 
void EncoderPrivate::setVideoCodecOption(T1 AVCodecContext::*option, (CR2CVideoCodecSettings::*f)() const) 

होना चाहिए

template <typename T1, typename T2> 
void EncoderPrivate::setVideoCodecOption(T1 AVCodecContext::*option, T2 (CR2CVideoCodecSettings::*f)() const) 
                    ^^^added return type 
संबंधित मुद्दे