マクロに対する私の理解はずれていると思います。私は curses を使用してゲームを作成しており、マップを生成したいと考えています (私が見つけた配布サンプラーをどれも動作させることができないため、現在はタイルを一様に選択しています)。
#include "Map.h"
/* Our ingame tiles */
#define WATER Tile(COLOR_BLUE,COLOR_CYAN,std::string(1, static_cast<char>(247)));
#define LAVA Tile(COLOR_YELLOW, COLOR_RED, std::string(1, static_cast<char>(247)));
#define ANIMAL Tile(COLOR_MAGENTA, COLOR_BLACK, std::string(1, static_cast<char>(224)));
#define PATH Tile(COLOR_WHITE, COLOR_WHITE, std::string(1, static_cast<char>(32)));
//static int pathPx = 5;
//static int lavaPx = 2;
//static int waterPx = 2;
//static int animalPx = 1;
std::vector<Tile> tiles = {PATH, LAVA, WATER, ANIMAL};
std::vector< std::vector<Tile> > map;
Map::Map(){
srand(time(NULL));
int y = rand() % 10 + 10;
int x = rand() % 10 + 10;
for (int j=0; j<y; j++){
std::vector<Tile> tileRowi;
for (int i=0; i<x; i++){
int n = rand()%4+1;
tileRowi.push_back(tiles[n]);
}
}
}
エラーは次のとおりです。
First: c:\mingw\bin\../lib/gcc/mingw32/4.6.2/include/c++/bits/basic_string.h initializing argument 1 of 'std::basic_string<_CharT, _Traits, _Alloc>::basic_string(const _CharT*, const _Alloc&) [with _CharT = char, _Traits = std::char_traits<char>, _Alloc = std::allocator<char>]' [-fpermissive]
二つ目:invalid conversion from 'char' to 'const char*' [-fpermissive]
最初のものは私のファイルの1つの行485を示しています...しかし、行485はありません.2番目のものはオンです:
std::vector<Tile> tiles = {PATH, LAVA, WATER, ANIMAL};
編集 -
ここに私のタイルクラスがあります:
#include "Tile.h"
int backgroundColor;
int foregroundColor;
std::string rep;
Tile::Tile(int fc, int bc, std::string r){
backgroundColor = bc;
foregroundColor = fc;
rep = r;
}
edit 2-- ワークスペースの写真