当前尝试使用矢量来在游戏中存储子弹。 当我尝试使用push_back将新对象添加到列表中时,我得到一个无法解析的外部符号错误。我试图将其更改为一个整数,矢量的作品,所以我怀疑它的链接错误? 我的矢量在我的主要CPP中初始化,然后在一个单独的类中传递给这个函数几次。使用类对象与矢量时无法解析的外部符号错误
这里是我的代码:
void Hero::shoot(std::vector<Bullet> bullets)
{
Bullet firedBullet();
bullets.push_back(firedBullet());
}
我的错误是:??
LNK2019解析的外部符号 “类子弹__cdecl firedBullet(无效)”(firedBullet @@ YA AVBullet @@ XZ )参考 函数“public:void __thiscall Hero :: shoot(class std :: vector>)” (?shoot @ Hero @@ QAEXV?$ vector @ VBullet @@ V?$ allocator @ VBullet @@@ std @ @@ std @@@ Z)Project1 H:\ C++ \ Project1 \ Project1 \ Hero.obj
请帮忙。
“我怀疑其链接器错误“未解决的引用始终是链接器错误。 –
当然这是一个链接器错误。链接器正在抱怨。你没有提供足够的代码来找出确切的原因,所以请提供[mcve]。话虽如此,这个问题可能是http://stackoverflow.com/questions/12573816/what-is-an-undefined-reference-unresolved-external-symbol-error-and-how-doi-i-fix – Rakete1111
'Bullet firedBullet();' - 这不符合你的想法。它没有声明'Bullet'的实例。我敢打赌,链接器抱怨你的虚假fireBullet()函数。为什么不发布链接器错误? – PaulMcKenzie