"केविन" प्रिंट करने के लिए अपेक्षित कोड के नीचे, लेकिन यह कचरा मूल्य प्रिंट कर रहा है। मैंने डीबगर में चेक किया है। "ऑपरेटर char *" कॉल द्वारा लौटा गया सूचक अमान्य है। कोई उपाय?"ऑपरेटर char *" मुद्दा
class Wrapper
{
private:
char* _data;
public:
Wrapper(const char* input)
{
int length = strlen(input) + 1;
_data = new char[length];
strcpy_s(_data, length, input);
}
~Wrapper()
{
delete[] _data;
}
operator char*()
{
return _data;
}
};
int main()
{
char* username = Wrapper("kevin");
printf(username);
return 0;
}
मेरा पहला सुझाव केवल std :: स्ट्रिंग का उपयोग करना होगा क्योंकि आप स्पष्ट रूप से C++ का उपयोग कर रहे हैं। –
आपने जो पॉइंटर्स टैग जोड़ा है, उसे आपने क्यों संपादित किया? – James
ध्यान रखें कि आपको आम तौर पर निहित रूपांतरणों से बचना चाहिए। (और निश्चित रूप से, 'std :: vector', या 'std :: string', आदि का उपयोग करें) – GManNickG