gpt4 book ai didi

C++构造函数错误

转载 作者:行者123 更新时间:2023-11-28 03:39:16 24 4
gpt4 key购买 nike

我收到以下代码片段的以下错误:“表达式列表被视为复合表达式”。我无法找出问题所在?

Shoot::Shoot() :
io( IOManager::getInstance() ),
count(0),
locX(0),
locY(0),
objWidth(0),
objHeight(0),
clock( Clock::getInstance() ),
ticks(0),
bulletSurface(io.loadAndSet("images/bullet.bmp", true)),
bulletFrame(bulletSurface, 30, 30, 0, 0),
thebullet(Vector2f(700,760), Vector2f(20,45), "bullet" , &bulletFrame)
{

}

声明:

    private :

const IOManager& io;
int count;

int locX;
int locY;
unsigned objWidth;
unsigned objHeight;
Clock& clock;
unsigned ticks;
SDL_Surface *bulletSurface;
Frame bulletFrame;
Sprite *thebullet;
Shoot(const Shoot&);
Shoot& operator=(const Shoot&);

最佳答案

问题是 thebullet是一个指针,但你试图用 Vector2f(700,760), Vector2f(20,45), "bullet" , &bulletFrame 初始化它.

我猜你想要 thebullet(new Bullet(...)) .1


<子>1。尽管如果是,我强烈建议您不要使用原始指针和手动内存管理,而是研究智能指针。

关于C++构造函数错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9864773/

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