पर पॉइंटर पास करना मुझे काफी समय से यह समस्या आ रही है - मैंने वर्ग सदस्य के रूप में आकार 2 डी सरणी तय की है।2 डी सरणी C++
class myClass
{
public:
void getpointeM(...??????...);
double * retpointM();
private:
double M[3][3];
};
int main()
{
myClass moo;
double *A[3][3];
moo.getpointM(A); ???
A = moo.retpointM(); ???
}
मैं बाहर M
मैट्रिक्स के लिए सूचक पारित करने के लिए करना चाहते हैं। यह शायद बहुत आसान है, लेकिन मुझे &
और *
आदि का उचित संयोजन नहीं मिला है
सहायता के लिए धन्यवाद। , हालांकि
public:
double * getMatrix() { return &M[0][0]; }
वर्ग बाहर, आप वास्तव में नहीं तुच्छता से एक और 2 डी सरणी में double *
बदल सकते हैं सीधे, पर:
आपको संदर्भों का उपयोग नहीं करना चाहिए "क्योंकि यह सी ++ है" या "सिर्फ इसलिए कि आप कर सकते हैं"। जब वे उपलब्ध विकल्पों की तुलना में अधिक स्पष्ट होते हैं तो उनका उपयोग करें। –
@Roger: हाँ, ठीक है, यह यहां उचित है, वैसे भी: v) – Potatoswatter