小编Rit*_*tra的帖子

在C中打印二维地图

我有一个用ASCII打印的游戏板,我希望最终看起来像这样

            ___
3       ___/ 1 \___  ___
    ___/ 2 \___/ 2 \/ 3 \
2  / 1 \___/ 3 \___/\___/___
   \___/ 2 \___/        / 2 \
1  / 1 \___/ 1 \___     \___/
   \___/ 2 \___/ 2 \
0      \___/   \___/

     1   2   3   4
Run Code Online (Sandbox Code Playgroud)

地图沿x轴和y轴分布,地图的大小也是固定的.要打印的数字都存储在2d数组中.如上所示,其中一些也可能是空的.这是我试图做的事情.map-> sizeX和map-> sizeY给出地图的X轴和y轴的大小.如果该块中的数字为0,则表示该块不存在,我们不打印它.任何帮助将非常感激.

void printMap(struct Map *map) {
    for (int i = 0; i < map->sizeX; ++i) {
        for (int k = 0; k < map->sizeX && i == 0; ++k)
            printf(" ___ ");
        printf("\n"); …
Run Code Online (Sandbox Code Playgroud)

c printf loops

5
推荐指数
1
解决办法
133
查看次数

空向量<...>没有成员命名

我正在尝试打印矢量的内容并获得以下内容

错误信息 aka class __gnu_cxx::__normal_iterator<const SoccerTeams*, std::vector<SoccerTeams> >}’ has no member named ‘teamName’

这是我的课

class SoccerTeams {
    string teamName;
 public:
    vector<SoccerTeams> teams;
    void addTeam(string name) {
        SoccerTeams newTeam(name);
        teams.push_back(newTeam);
    };
    void showTeams() {
        cout << "\nHere's all the teams!";

        //error here
        for (vector<SoccerTeams>::const_iterator i = teams.begin(); i != teams.end(); ++i) 
            cout << *i.teamName << endl;
    }
    SoccerTeams(string tn){
        teamName = tn;
    };
    ~SoccerTeams(){};
};
Run Code Online (Sandbox Code Playgroud)

我相信错误的存在是因为矢量团队目前是空的,有没有办法解决这个问题?

c++ vector

3
推荐指数
1
解决办法
303
查看次数

标签 统计

c ×1

c++ ×1

loops ×1

printf ×1

vector ×1