小编Nep*_*ons的帖子

"operator char*"问题

下面的代码预计打印"​​kevin"但是,它的打印垃圾值.我已经检查了调试器."operator 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;
}
Run Code Online (Sandbox Code Playgroud)

c++

9
推荐指数
2
解决办法
3050
查看次数

标签 统计

c++ ×1