你好,我对编码很陌生,并开始了我的第一个更大的项目,只是为了更快地学习 当我尝试分配内存时,工具提示中的错误“此声明没有存储类或类型说明符”,然后它就不会编译。
#ifndef MAP_H
#define MAP_H
#include "Headers.h"
#include "Player.h"
class Player;
class Map
{
public:
Map();
Player *player;
player = new Player;
std::vector <std::string> levelData;
void Draw();
void Create();
void Open();
void Save();
};
#endif
答案 0 :(得分:0)
Player *player;
player = new Player;
不对。你不能在类定义的中间有上面第二行的语句。
如果您有符合C ++ 11的编译器,则可以使用:
Player *player = new Player;
理想情况下,您应该在player
的构造函数中初始化Map
。这样就可以避免#include
&#34; Player.h&#34;在&#34; Map.h&#34;。
另外,你应该添加
#include <vector>
#include <string>
因为你正在使用
std::vector <std::string> levelData;