मैं समाधान const A a[3] = { {0,0}, {1,1}, {2,2} },
के बारे में पढ़ा है, लेकिन मेरे कार्यक्रम में const
नहीं किया जा सकता:मैं कक्षा वस्तुओं की एक सरणी कैसे बना सकता हूं जिनके निर्माता को कुछ तर्क की आवश्यकता होती है?
class Paper: public PaperQueue{
...
protected:
typedef int (Utils::*funcPtr) (int, int); //I use external function there
funcPtr p;
Utils* fptr;
public:
int pricefunc(){
addprice = (fptr->*p) (t,price);
}
Paper(int n, unsigned int pr):PaperQueue(n){
...
p=&Utils::commonpricefunc;
}
void Put(int a){
...
}
...
}
class Bank{
...
void Buy(Paper &p){
(/*this function modifies many parameters in 'p'*/)
...
}
...
}
int main(){
Bank B;
int pn=5;
/* ? */ const Paper p[pn] = {{5,15},{5,15},{5,15},{5,15},{5,15}}; /* ? */
int paperloop=0;
...
p[paperloop].Put(p[paperloop].addprice);
B.Buy(p[paperloop]);
...
जो मुझे (त्रुटियों की एक बहुत pricefunc साथ देता है(), रखो(), खरीदें(), .. ।), या सिर्फ "चर-आकार वाली ऑब्जेक्ट 'पी' प्रारंभ नहीं किया जा सकता है"। क्या इस सरणी को काम करने का कोई तरीका है? (सब कुछ नहीं तो निर्माता के लिए किसी भी पैरामीटर प्रदान करने के ठीक काम करता है!)
'** कॉन्स पेपर पी [पीएन]'? – iammilind
मुझे 'पेपर (पी [पीएन]) (5,25)' या कुछ जैसे कुछ सरणी बनाने की आवश्यकता है ... प्रत्येक कन्स्ट्रक्टर को इन पैरामीटर प्राप्त करना चाहिए और 'पी [i] 'केवल पढ़ने योग्य वस्तु नहीं होनी चाहिए । – Slowpoke
यह कोड के अंदर सिर्फ बोल्ड टैग था। – Slowpoke