मैं अपने कन्स्ट्रक्टर की इंटिलाइजेशन सूची में एक सरणी शुरू करने की कोशिश कर रहा हूं, और मैं चाहता हूं कि सरणी आकार MAX_SIZE हो, जो मेरी स्टैक क्लास में सार्वजनिक स्थिरांक है। मैं किस तरह इसे काम पर लगा सकता हूँ? संकलक की शिकायत करते हुए कहा कि वे असंगत प्रकार के लिए 'डबल' डबल [0u] 'कन्स्ट्रक्टर की प्रारंभिक सूची में सरणी आरंभ करें
यहाँ मेरी कोड है काम में:
class Stack {
public:
Stack();
static const unsigned MAX_SIZE;
private:
double array[];
unsigned elements;
}; // class Stack
Stack::Stack(): array(array[MAX_SIZE]), elements(0) {}
const unsigned Stack::MAX_SIZE = 4;
आपकी मदद के लिए अग्रिम धन्यवाद।
जब तक कि आप पूरी तरह से मस्तिष्कवादी नहीं होते: 'स्थिर कॉन्स अप्रमाणित max_size = 4; std :: वेक्टर सरणी; स्टैक :: स्टैक(): सरणी (MAX_SIZE) {} ' –
क्या शायद कोई आसान तरीका है? यानी वेक्टरों का उपयोग किए बिना। मैं प्रोग्राम को अपने सरणी डेटा सदस्य को MAX_SIZE होने के आकार के साथ स्वीकार करने के लिए कैसे प्राप्त कर सकता हूं? – Sean
मैं 'std :: vector' का उपयोग करने के लिए उपयोग किया जाएगा। मैं शायद ही कभी सरणी का उपयोग करता हूं; मैं लगभग हर बार 'std :: vector' वरीयता का उपयोग करूंगा। कोड @ जेसे गुड को भी काम करना चाहिए। –