मैं सोच रहा था कि कक्षा के लिए आकार सीमा क्या है। मैं एक साधारण परीक्षण किया:कक्षा के लिए आकार सीमा क्या है?
#define CLS(name,other) \
class name\
{\
public: \
name() {};\
other a;\
other b;\
other c;\
other d;\
other e;\
other f;\
other g;\
other h;\
other i;\
other j;\
other k;\
};
class A{
int k;
public:
A(){};
};
CLS(B,A);
CLS(C,B);
CLS(D,C);
CLS(E,D);
CLS(F,E);
CLS(G,F);
CLS(H,G);
CLS(I,H);
CLS(J,I);
यह
साथ संकलित करने के लिए विफल रहता है " 'जे': वर्ग बहुत बड़ा है"
अगर मैं अंतिम घोषणा को दूर - CLS(J,I);
, यह सब ठीक संकलित करता है।
क्या यह एक संकलक-लगाया प्रतिबंध है, या यह मानक में कहीं है?
अंतिम परिभाषा के साथ आप जे कक्षा के लिए लगभग 10 जीबी (पैडिंग के आधार पर) तक पहुंचते हैं। – dalle
मैं बस इसे घोषित कर रहा था, वास्तव में इसका उपयोग नहीं कर रहा था।मैं शर्त लगाता हूं कि कुछ एच कक्षाओं की एक सरणी रनटाइम तोड़ देगी :) –