私はWindows10でVisual Studio Community 2015とDXライブラリを使っており、現在マップを表示してキャラを動かすということをやりたいのですが、下記のようなコード(エラーが起きた原因っぽい部分のみ)で "C2280 CharaData::CharaData(void) 削除された関数を使用しようとしています" というよくわからないエラーが出てきたのですが、何が原因なのか、どう直せばいいのかわかりません。誰か教えて頂けないでしょうか。
/* CharaData.h */
// 構造体群
struct ItemData { // アイテムデータ
const int ItemCode; // アイテムコード
int Graphic; // グラフィックデータ
};
struct CharaData { // キャラクターデータ
const int CharaCode; // キャラコード
int Graphic[64]; // キャラのグラフィックハンドル変数
int X, Y; // キャラの座標変数
int HP, MP, MHP, MMP; // HPとMP,最大HPと最大MP
int Atack, Defense, MinAtack, MinDefense; // 攻撃力と守備力,攻撃力減少率と守備力減少率
int Speed; // 移動スピード
CharaState State; // 状態異常
int Level; // レベル
int MinArea, MaxArea; // 出現階層
};
// ここまで
// キャラデータ
// プレイヤー
extern CharaData Inaha; // 主人公(イナハ)のキャラデータ変数
/* 中略 */
/* CharaData.cpp */
#include "CharaData.h"
// キャラデータ 初期化もここですること
// プレイヤーキャラ
CharaData Inaha; // 主人公(イナハっていう名前)のキャラデータ変数 コンパイラはここがエラー原因として指摘したのですが…
/* 中略 */
/* LoadGraph.cpp */
#include "LoadGraph.h"
int MapChip1[MapChip1X * MapChip1Y];
int MapData[][MapLayer][ChipY][ChipX] = {
/* 中略 */
int LoadGameImage(){ // ゲーム使用画像インプット
// キャラ画像インプット
// プレイヤー
LoadCharaChip("Material\\CharaChip\\Inaha.png", Inaha.Graphic); // イナハ
// モンスター
LoadCharaChip("Material\\CharaChip\\スライム.png", Slime.Graphic); // スライム
LoadCharaChip("Material\\CharaChip\\ばけトマト.png", BakeTomato.Graphic); // ばけトマト
// ここまで
// マップチップインプット
// 標準
LoadDivGraph("Material\\MapChip\\MapChip1.png", MapChip1X*MapChip1Y , MapChip1X, MapChip1Y, CHARA_CHIP_SIZE, CHARA_CHIP_SIZE, MapChip1);
// オートタイル
// ここまで
// アイテム画像インプット
// 普通
Zassou.Graphic = LoadGraph("Material\\ItemChip\\Grass.png"); // 雑草
// 装備
// ここまで
return 0; // 読み込み成功なら0
}
int DrawMap() { // マップ描画
for (int DrawedLayer = 0; DrawedLayer < MapLayer-2; DrawedLayer++) { // マップ描画ループ
for (int DrawedY = 0; DrawedY < ChipY; DrawedY++) {
for (int DrawedX = 0; DrawedX < ChipX; DrawedX++) {
int DrawMapData = MapData[0][DrawedLayer][DrawedY][DrawedX]; // マップマスデータ読み込み
if (DrawMapData <= 0) DrawGraph(DrawedX*ChipSize, DrawedY*ChipSize, MapChip1[DrawMapData], TRUE); // マップマス描画 チップ番号0ならやらない
}
}
}
return 0;
}
int LoadCharaChip(const TCHAR* FileName, int* HandleBuf) { // キャラチップ読み込み
LoadDivGraph(FileName, CHARA_CHIP_X*CHARA_CHIP_Y, CHARA_CHIP_X, CHARA_CHIP_Y, CHARA_CHIP_SIZE, CHARA_CHIP_SIZE, HandleBuf);
return 0;
}
/* GameMain.cpp */
/* 中略 */
void InitGame() { // ゲームスタート時処理
for (int CountedY = 0; CountedY < ChipY; CountedY++) { // 主人公位置検査
for (int CountedX = 0; CountedX < ChipX; CountedX++) {
int CharaPosition = MapData[0][4][CountedY][CountedX]; // 座標検査
if (CharaPosition == CHARACODE_Inaha) {
Inaha.X = CountedX , Inaha.Y = CountedY; // 主人公座標セット
MapData[0][4][CountedY][CountedX] = 0; // 後始末
}
}
}
return;
}