gpt4 book ai didi

c++ - 如何将指针复制到不完整类型 - C++

转载 作者:行者123 更新时间:2023-11-27 23:03:56 24 4
gpt4 key购买 nike

我正在尝试将指针 myTexture 的内容复制到指针 texture(类成员)中,如下面的代码所示:

Sprite::Sprite(SDL_Renderer *renderer, SDL_Texture *myTexture) {

// Initialize texture
this->texture = myTexture;
}

但是,我需要让 texture 不只是指向与 myTexture 相同的对象,因为我希望能够修改 texture也不影响 myTexture。我试过使用复制构造函数,但编译器说不允许使用不完整的类型。我不太确定如何在不指向同一对象的情况下创建该对象的拷贝。

在此先感谢您的帮助。

最佳答案

您不能调用复制构造函数,或者通常不能访问不完整类型的任何成员。毕竟,这就是它不完整的原因;你不应该知道该类型甚至支持复制或其他任何东西。

我想说的是只包括整个类型,而不是仅仅转发声明它,然后完成它。


编辑:我可能会补充一点,我们在这里讨论的是 SDL 纹理类型。 This type看起来它甚至不支持复制。例如,它有“prev”和“next”指针,以及一个似乎指向渲染器对象的指针。算不上值(value)类。

看起来你应该在这里重新考虑你的设计,真正的问题不是不完整的类型,而是“如何复制 SDL_Texture 内容。”

关于c++ - 如何将指针复制到不完整类型 - C++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25044279/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com