我得到std :: vector錯誤我從來沒有聽說過,無法找到任何有關它。C++矢量語法錯誤
ShootManager.h
#pragma once
#include "VGCVirtualGameConsole.h"
#include "Shot.h"
#include <vector>
using namespace std;
class ShootManager
{
public:
ShootManager();
~ShootManager();
void Destroy(int ShotNr);
void Update();
void Draw();
void Fire(Shot* shot);
vector<Shot*> shots;
};
Shot.h
#pragma once
#include "VGCVirtualGameConsole.h"
#include "ShootManager.h"
using namespace std;
class Shot
{
public:
virtual ~Shot();
virtual void Update() = 0;
void Draw();
void Move();
enum Alignment
{
FRIEND, ENEMY
};
protected:
VGCVector position;
VGCVector speed;
Alignment alignment;
bool Destroyed = false;
};
我得到這些錯誤
Error 3 error C2059: syntax error : '>'
Error 7 error C2059: syntax error : '>'
Error 1 error C2061: syntax error : identifier 'Shot'
Error 5 error C2061: syntax error : identifier 'Shot'
Error 2 error C2065: 'Shot' : undeclared identifier
Error 6 error C2065: 'Shot' : undeclared identifier
Error 4 error C2976: 'std::vector' : too few template arguments
Error 8 error C2976: 'std::vector' : too few template arguments
標識錯誤是此行
void Fire(Shot* shot);
休息了
vector<Shot*> shots;
這兩條線路均相當長的一段時間完美的工作,我真的不知道是什麼原因導致它突然開始做這些錯誤。 我還沒有開始嘗試填充矢量,並沒有任何功能被稱爲尚未。
只需在ShotManager.h中放入'class Shot;'而不是包含Shot.h. – kfsone
@kfsone:你不能從一個不完整的類型中創建一個std :: vector,所以這不會有幫助。 – rici
他有'矢量'而不是'矢量' –
kfsone