मेरा लक्ष्य है एक वर्ग की तरह:सी ++ वर्ग के सदस्य struct को परिभाषित करने और एक सदस्य समारोह में इसे वापस
class UserInformation
{
public:
userInfo getInfo(int userId);
private:
struct userInfo
{
int repu, quesCount, ansCount;
};
userInfo infoStruct;
int date;
};
userInfo UserInformation::getInfo(int userId)
{
infoStruct.repu = 1000;
return infoStruct;
}
लेकिन संकलक त्रुटि देता है कि सार्वजनिक समारोह getInfo(int)
की defintion में वापसी प्रकार userInfo
कोई प्रकार नहीं है नाम।
हमें 'userInfo के लिए क्वालीफायर 'UserInfomation' क्यों चाहिए। डिफ़ॉल्ट रूप से संकलक को 'उपयोगकर्ता जानकारी' के नामस्थान में जांचना नहीं चाहिए? – anaken78
@ anaken78 क्या आप, मैं, या कोई और एक अनुपालन संकलक सोचता है _should_ do अप्रासंगिक है। यह ** ** ** करता है। जब तक फ़ंक्शन की तर्क सूची खुलती नहीं है तब तक कक्षा दायरे में नहीं होती है, इसलिए वहां के नामों को अयोग्य घोषित नहीं किया जा सकता है। मुझे यकीन है कि इसके पीछे तर्क, पार्सिंग और व्हाट्नॉट के मामले में, यदि आप इसे खोजना चाहते हैं, तो कहीं और लंबाई पर चर्चा की गई है। या बस एक पिछला रिटर्न प्रकार का उपयोग करें: 'ऑटो उपयोगकर्ता जानकारी :: getInfo (int userId) -> userInfo' (btw, ये कुछ खराब नामकरण विकल्प हैं)। उस स्थिति में वापसी प्रकार घोषित होने पर कक्षा और उसके सदस्य गुंजाइश में हैं। –