मैं संदर्भों के साथ खेल रहा हूं (मुझे अभी भी इस संबंध में समस्याएं हैं)।क्या मैं यहां कुछ गलत कर रहा हूं (सी ++ में संदर्भ)?
1- मैं अगर यह एक स्वीकार्य कोड है जानना चाहूंगा:
int & foo(int &y)
{
return y; // is this wrong?
}
int main()
{
int x = 0;
cout << foo(x) << endl;
foo(x) = 9; // is this wrong?
cout << x << endl;
return 0;
}
2- इसके अलावा इस एक परीक्षा नमूना से है:
Week & Week::highestSalesWeek(Week aYear[52])
{
Week max = aYear[0];
for(int i = 1; i < 52; i++)
{
if (aYear[i].getSales() > max.getSales())
max = aYear[i];
}
return max;
}
यह इस कोड में गलती के बारे में पूछता है , इसे कैसे ठीक करें।
मेरा अनुमान है कि यह एक स्थानीय संदर्भ लौटाता है। फिक्स है:
Week & max = aYear[0];
क्या यह सही/पर्याप्त है?
आप सही थे। मैंने शर्मनाक तरीके से झुकाया, धनुष के लिए – zildjohn01
+1, लेकिन मैं थोड़ा असहमत हूं: सीखने के बारे में कुछ भी शर्मनाक नहीं है। आप फिर कभी गलती नहीं करेंगे। :-) – Thanatos
एक सूचक क्यों शामिल है? एक स्थानीय संदर्भ बेहतर लगता है। –