我試圖創建並打印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