में किसी सरणी के एक तत्व के किसी प्रकार को कम करने का कोई तरीका है, मुझे एक C++ सरणी के एक तत्व को कम करने में समस्या आ रही है।सी ++
मैं की तरह कुछ हासिल करना चाहते हैं:
template <class T>
struct array_element { };
template <class T>
struct array_element<T[]> {
using type = T;
};
int main() {
int a[5] = {1, 2, 3, 4, 5};
array_element<decltype(a)>::type element = a[0];
}
लेकिन कोड स्पष्ट रूप से संकलन नहीं करता है (पूर्णांक [5] से मेल नहीं खाता टी []) ...
बेशक! धन्यवाद! –
वास्तविक कोड थोड़ा अधिक जटिल है (टेम्पलेट्स तर्क के अंदर है) और 'decltype' के साथ दृष्टिकोण का उपयोग करके वहां बहुत साफ नहीं होगा ... लेकिन विशेषज्ञता के अतिरिक्त पैरामीटर के साथ आपका सुझाव पूरी तरह उपयुक्त है! –