我试图创建并打印2D阵列的一些字母(在未来的我会改变这些阵列的值):创建与印刷的2D阵列中的C++
terrain.cpp
#include "stdafx.h"
#include <iostream>
#include <vector>
using std::vector;
using std::string;
void create_terrain(int size)
{
string** map;
map = new string*[size];
for (int i = 0; i < size; ++i)
map[i] = new string[size];
for (int i = 0; i < size; ++i)
{
for (int j = 0; j < size; ++j)
{
map[i][j]= "[ ]";
}
}
}
void print_terrain(int size, string** map)
{
for (int i = 0; i < size; ++i)
{
for (int j = 0; j < size; ++j)
{
std::cout.width(5);
std::cout << map[i][j];
}
}
}
void delete_terrain(int size, string** map)
{
for (int i = 0; i < size; i++)
delete[] map[i];
delete[] map;
}
类的.cpp:
#include "stdafx.h"
void create_terrain(int);
void print_terrain(int size, string** map);
void delete_terrain(int size, string** map);
int _tmain(int argc, _TCHAR* argv[])
{
create_terrain(10);
print_terrain(10, **map);
//...
delete_terrain(10, **map);
}
Compilator给了我一些错误:
我使用Microsoft Visual Studio 2013.
请问为什么两个**为地图? – 2014-10-18 10:37:58
我在那里发现http://www.cplusplus.com/forum/articles/7459/ – Kulis 2014-10-18 10:40:07