यह शायद एक बहुत ही सरल जवाब है, लेकिन मैं वास्तव में इसे समझ नहीं सकता। ऐसा करने के लिए मुझे त्रुटियां क्यों मिलती हैं? इस तरह कुछ शुरू करने का सही तरीका क्या है?घुंघराले ब्रेसिज़ के साथ tuples की एक std :: सरणी शुरू करें
std::array<std::tuple<int, std::string>, 3> tuples{
{3, "a"},
{7, "b"},
{2, "c"}
};
MSVC 2015 को मैं निम्नलिखित त्रुटियाँ मिलती है:
No suitable constructor exists to convert from "int" to "std::tuple<int, std::string>"
No suitable constructor exists to convert from "const char[2]" to "std::tuple<int, std::string>"
इसलिए यही कारण है कि दूसरे व्यक्ति के हटाए गए उत्तर वास्तव में पोस्ट करने से पहले काम करते थे। मैंने सोचा कि शायद कुछ और कर रहा है जिसे मैं उम्मीद नहीं कर रहा था। मान लीजिए मुझे एक सी सरणी का उपयोग करना होगा या फिर इसे इस तरह से करना होगा। उह ... सी ++ 17 पर्याप्त तेज़ी से नहीं आ सकता – Alex
@AlexYan: आप 'जोड़ी' का उपयोग कर सकते हैं, क्योंकि आपके वर्तमान प्रकार में केवल दो memebers हैं। –
'std :: make_tuple' भी काम करता है। (पता नहीं क्यों) – edmz