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

c++: Error: this declaration has no storage class or type specifier

本文关键字:说明符 存储 类型 错误 声明 c++      更新时间:2023-10-16

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

#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
Player *player; 
player = new Player;

是不对的。不能在类定义中间使用上面第二行这样的语句。

如果你有c++ 11兼容的编译器,你可以使用:

Player *player = new Player;

理想情况下,应该在Map的构造函数中初始化player。这将允许您避免#include在"Map.h"中出现"Player.h"。

还应该加上

#include <vector>
#include <string>

因为你在使用

std::vector <std::string> levelData;