में कक्षा घोषित करने के लिए कैसे करें मैं आलसी गणना के साथ कक्षा बनाने की कोशिश कर रहा हूं। तो मुझे पहले गणना किए गए चर रखने के लिए संरचना की आवश्यकता है और मैं उस वर्ग को अनाम नामस्थान में रखना चाहता हूं (वैश्विक दायरे को प्रदूषित नहीं करना चाहता)। यहाँ कम से कम कोड है जो बताते हैं कि मैं क्या चाहते हैं: calculator.h
:अज्ञात नेमस्पेस
#ifndef CALCULATOR_H
#define CALCULATOR_H
class PrevCalc;
class Calculator
{
public:
Calculator();
PrevCalc* prevCalc;
};
#endif // CALCULATOR_H
calculator.cpp
:
#include "calculator.h"
namespace{
struct PrevCalc{
double prevA = -1;
double prevB = -1;
double prevC = -1;
};
}
Calculator::Calculator()
{
prevCalc = new PrevCalc();
}
बेशक यह एक त्रुटि expected type-specifier before 'PrevCalc'
देता है और अगर मैं नाम स्थान के बिना PrevCalc
परिभाषित सब कुछ ठीक काम करता है। मेरा प्रश्न कैसे वर्ग जो .cpp
फ़ाइल में अज्ञात नाम स्थान में परिभाषित किया जाएगा
एक शीर्षक में एक अनाम नाम स्थान निश्चित रूप से एक गलत डिजाइन है। –
बेनामी नेमस्पेस ** उद्देश्य ** ** दायरे को फ़ाइल दायरे को सीमित करने के लिए हैं। एक नामित नेमस्पेस आपकी आवश्यकताओं को बेहतर तरीके से फिट कर सकता है। – Downvoter
'प्रीवल्क' को 'कैलक्यूलेटर' की नेस्टेड स्ट्रक्चर क्यों न बनाएं? आपको गतिशील रूप से इसे आवंटित करने की आवश्यकता नहीं होगी। –