作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试将指针 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/
我是一名优秀的程序员,十分优秀!