तो this example से: http://en.cppreference.com/w/cpp/utility/variant/visit विशेष प्रकार वाणी:इस स्ट्रक्चर का प्रकार किस प्रकार से है?
template<class... Ts> struct overloaded : Ts... { using Ts::operator()...; };
template<class... Ts> overloaded(Ts...) -> overloaded<Ts...>;
कौन सा एक आर-मूल्य यहाँ के रूप में निर्माण किया है:
std::visit(overloaded {
[](auto arg) { std::cout << arg << ' '; },
[](double arg) { std::cout << std::fixed << arg << ' '; },
[](const std::string& arg) { std::cout << std::quoted(arg) << ' '; },
}, v);
मैं यह पता लगाने की यह कैसे काम करता कोशिश कर रहा हूँ। overloaded
किस प्रकार से विरासत प्राप्त करता है? यह लैम्ब्डा की एक सरणी की तरह लगता है लेकिन मुझे नहीं लगता कि उसके पास operator()
होगा। क्या कोई समझा सकता है कि विरासत यहां कैसे काम कर रही है?
यदि आप 10k से अधिक हैं तो आप देख सकते हैं कि मैंने अभी इस प्रश्न की कोशिश की है: https://stackoverflow.com/q/44414238/2642059 @BamititAugen ने मुझे विरासत को पहचानने में मदद की। तो मुझे लगता है कि मैं अभी सही सवाल पूछ रहा हूं। –