當前嘗試使用矢量來在遊戲中存儲子彈。 當我嘗試使用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