में कैसे रखा जाए, मैं अज्ञात लंबाई या तर्कों की संख्या के साथ एक संदेश बनाना चाहता हूं। मैंविभिन्न टेम्पलेट प्रकारों को एक वेक्टर
template <typename T> class Argument {
public:
int size;
int type;
T data;
};
की तरह और के साथ कुछ अतिभारित
addMessage (int value) {
Argument<int> *a = new Argument<int>;
vec.push_back(a);
}
(स्ट्रिंग और इतने पर के लिए एक ही) मैं यह सब पुश करने के लिए एक वेक्टर में कोशिश एक साधारण टेम्पलेट ले लिया। मैं
std::vector<Argument* > vec;
std::vector<Argument<typename T>* > vec;
std::vector<Argument<>* > vec;
कोशिश की, लेकिन इस बात का कुछ भी नहीं काम करने के लिए लगता है। क्या इसे करने का कोई तरीका है? अग्रिम में धन्यवाद।
ऐसा लगता है कि जब मैं सोचता था कि टेम्पलेट्स को "सभी प्रकार" रखने के लिए बनाया गया है तो मैं गलत था। चूंकि इस परियोजना में कोई बूस्ट नहीं है, फिर भी मैं विरासत के साथ रहूंगा। thx – DaClown
'std :: variant' C++ 17 के बाद उपलब्ध है। http://en.cppreference.com/w/cpp/utility/variant – biowep