का उपयोग करके हस्ताक्षरित और हस्ताक्षरित चर के लिए एक वैरिएडिक कन्स्ट्रक्टर बनाएं, मैं किसी भी अभिन्न प्रकार का उपयोग करके कक्षा के लिए एक कन्स्ट्रक्टर बनाना चाहता हूं, लेकिन हस्ताक्षरित और हस्ताक्षरित के बीच अंतर करता हूं। मैं नहीं चाहता कि यह वर्ग पर ही एक टेम्पलेट हो। निम्नलिखित काम नहीं कर रहा है। विजुअल स्टूडियो सिर्फ यह कह रहा है कि कोई तर्क मेल नहीं खाएगा।सक्षम_if
class Thing{
public:
template<typename Integral>
Thing(
typename std::enable_if<
std::is_integral<Integral>::value &&
!std::is_same<Integral,bool>::value &&
std::is_signed<Integral>::value
,Integral
>::type num
){
//constructor using signed variable as input
}
template<typename Integral>
Thing(
typename std::enable_if<
std::is_integral<Integral>::value &&
!std::is_same<Integral,bool>::value &&
!std::is_signed<Integral>::value//notice this is different
,Integral
>::type num
){
//constructor using unsigned variable as input
}
};
यह काम नहीं कर रहा है? यह क्या कर रहा है :) – erip
'सार्वजनिक' कीवर्ड की कमी कम से कम कोड की कोशिश करते समय मुझे प्राप्त होने वाली पहली त्रुटि के बारे में कम से कम कुछ कहता है ... – skypjack