घोषित करना चाहता हूं कि मैं किसी अन्य फ़ाइल में कक्षा के स्थिर सदस्य फ़ंक्शन को घोषित करना चाहता हूं। मुझे क्या करना चाहते हैं इस तरह दिखता है:आगे स्थिर फ़ंक्शन C++
BigMassiveHeader.h:
class foo
{
static void init_foos();
}
main.cpp: अपरिभाषित प्रकार 'foo' का उपयोग:
class foo;
void foo::init_foos();
int main(char** argv, int argc)
{
foo::init_foos()
}
इस के साथ "त्रुटि C2027 बाहर विफल रहता है "
क्या कोई ऐसा तरीका है जो मैं एक मुक्त फ़ंक्शन init_foos बनाने के साथ करना चाहता हूं, या BigMassiveHeader.h सहित? (BigMassiveHeader.h संकलन समय को प्रभावी रूप से प्रभावित कर रहा है, और हर जगह शामिल है।)
में कोड शामिल करना है या नहीं .cpp या BigHeader.h में कोई प्रभाव नहीं होना चाहिए। आखिरकार, आप #include गार्ड या #pragma का उपयोग कर रहे हैं तो BigHeader.h केवल एक बार संकलित हो जाता है, है ना? – Kyte
@Kyte गार्ड को शामिल करें BigHeader.h प्रति अनुवाद इकाई में एक बार जहां इसे शामिल किया गया है। यदि इसे कई स्रोत फ़ाइलों में शामिल किया जा रहा है, तो इसे कई बार संकलित करने की आवश्यकता होगी। – KeithB
तो क्या 'क्लास फू' की परिभाषा को किसी अन्य शीर्षलेख फ़ाइल में विभाजित करना संभव होगा? –