C 打印2D数组
C++ printing 2d array
im试图在反对方面制作基于命令行的游戏,称为" dungeoncrawl" ...我创建了一个标题&源文件,然后我已声明了函数和类文件中的类,并且定义在源文件上。
问题:当我使用2用于循环的2打印板时,它在void函数中会打印一些随机整数,而不仅仅是0 ...
打印后的结果:
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 1303831201 100681557
1606416496 32767 17 0 1 0 104 1 1606581343 32767
1606416256 32767 1606423158 32767 1606416280 32767 1606416280 32767 1 0
1606416304 32767 0 1 0 0 1606416320 32767 0 0
0 0 0 0 0 0 0 0 1606416288 32767
这是标题文件:
#ifndef dungeoncrawl_hpp
#define dungeoncrawl_hpp
#include <iostream>
#include <stdio.h>
using namespace std;
class dungeoncrawl {
public:
dungeoncrawl();
void drawBoard();
~dungeoncrawl();
private:
int board[10][10];
uint8_t player_pos[0][0], enemy_pos[0][0];
};
#endif /* dungeoncrawl_hpp */
这是源文件:
#include "dungeoncrawl.hpp"
// Constructor
class dungeoncrawl::dungeoncrawl {
int board[10][10] = {
{0,0,0,0,0,0,0,0,0,0},
{0,0,0,0,0,0,0,0,0,0},
{0,0,0,0,0,0,0,0,0,0},
{0,0,0,0,0,0,0,0,0,0},
{0,0,0,0,0,0,0,0,0,0},
{0,0,0,0,0,0,0,0,0,0},
{0,0,0,0,0,0,0,0,0,0},
{0,0,0,0,0,0,0,0,0,0},
{0,0,0,0,0,0,0,0,0,0},
{0,0,0,0,0,0,0,0,0,0}
};
};
// Con-&-Destructor
dungeoncrawl::dungeoncrawl(){}
dungeoncrawl::~dungeoncrawl(){}
void dungeoncrawl::drawBoard(){
for(int i = 0; i < 10; i++){
for(int j = 0; j < 10; j++){
cout << board[i][j] << " ";
}
cout << endl;
}
};
您的代码中有两个错误。首先:
uint8_t player_pos[0][0], enemy_pos[0][0];
零长度阵列由GCC作为扩展名提供。在您的情况下是没有用的。
其次:
class dungeoncrawl::dungeoncrawl {
它不是约束器。如果要初始化类成员,则可以在构造函数中进行。例如这里:
// Constructor
dungeoncrawl::dungeoncrawl(){
for(int i = 0; i < 10; i++){
for(int j = 0; j < 10; j++){
board[i][j] = 0;
}
}
}
或,例如,您可以将数组声明为静态:
//dungeoncrawl.hpp
private:
static int board[10][10];
//dungeoncrawl.cpp
int dungeoncrawl::board[10][10] = {
{0,0,0,0,0,0,0,0,0,0},
{0,0,0,0,0,0,0,0,0,0},
{0,0,0,0,0,0,0,0,0,0},
{0,0,0,0,0,0,0,0,0,0},
{0,0,0,0,0,0,0,0,0,0},
{0,0,0,0,0,0,0,0,0,0},
{0,0,0,0,0,0,0,0,0,0},
{0,0,0,0,0,0,0,0,0,0},
{0,0,0,0,0,0,0,0,0,0},
{0,0,0,0,0,0,0,0,0,0}
};
相关文章:
- 2D数组来自文本输入,中间有空格
- 如何使用用户输入在C++中正确填充2D数组
- 如何在C++中检查2D数组中负值的输入验证
- 当我在main中声明了我的2d数组时,为什么我的程序会退出
- 如何将以逗号和空格分隔的整数读取到 2D 数组中?
- 如何在C++函数中声明静态 2D 数组?
- 如何声明一个可以在整个程序中使用的全局 2d 3d 4d .. 数组(堆版本)变量?
- 我已经阅读了很多关于 2d 数组的信息,但我在作业中使用它时遇到了麻烦
- 使用矢量将文本文件中的输入存储到 2D 数组中
- 获取 2D 数组 c++ 中的所有数字对
- 这是使用回溯的 nqueen 问题,但我使用了动态 2d 数组,我的程序编译良好,但不返回任何输出
- 如何在构造函数中使用初始值设定项设置具有相同值的 2d 数组?
- 在 Python 和 c++ 2d 数组初始化之间.这是怎麽?为什么呢?
- 如何打印 2D 字符数组C++
- 如何将数组 2d 作为参数从函数传递并返回数组 2d 此函数
- 数组 2D 多个值
- 创建数组数组 (2D),而无需在 Java 中初始化内部数组
- 如何在C++中将文本文件传输到数组2D
- 从同一类的另一个方法调用数组2D-C++
- 获取地址在数组2d中的位置