c ++:错误:此声明没有存储类或类型说明符

时间:2015-10-02 16:03:44

标签: c++ memory syntax-error

你好,我对编码很陌生,并开始了我的第一个更大的项目,只是为了更快地学习 当我尝试分配内存时,工具提示中的错误“此声明没有存储类或类型说明符”,然后它就不会编译。

#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

1 个答案:

答案 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;