提示コードですが提示画像のエラーが複数出るのですがどうすればいいのでしょうか? コピーコンストラクタや代入コンストラクタを用意しましたがエラーが抜けません。どうすればいいのでしょうか?
hpp
1#ifndef ___BLOCK_HPP 2#define ___BLOCK_HPP 3 4#include "Object.hpp" 5#include "MapChip.hpp" 6#include <iostream> 7#include <array> 8 9 10class Entry; 11class Block : public Object 12{ 13public: 14 15 Block(Entry* e, ObjectType type, std::shared_ptr<TextureData> data, TextureUV uv, glm::ivec2 pos); 16 ~Block(); 17 Block(); 18 19 explicit Block(Block& b); 20 Block& operator = (const Block& b); 21 22 23 24 void Update(); 25 void Draw(); 26 27 28private: 29 30 std::array<MapChip,4> mChip; 31 32}; 33 34 35#endif 36
cpp
1#include "../../Header/Game/Block.hpp" 2 3 4 5// コンストラクタ 6Block::Block(Entry *e,ObjectType type ,std::shared_ptr<TextureData> data,TextureUV uv,glm::ivec2 pos) : Object(e,type) 7{ 8 /* 9 mChip.at(0) = MapChip(e, ObjectType::Block, data, uv, pos); 10 mChip.at(1) = MapChip(e, ObjectType::Block, data, uv, pos); 11 mChip.at(2) = MapChip(e, ObjectType::Block, data, uv, pos); 12 mChip.at(3) = MapChip(e, ObjectType::Block, data, uv, pos); 13 */ 14} 15 16Block::Block() : Object() 17{ 18 19} 20 21 22Block::Block(Block& b) 23{ 24 mChip = b.mChip; 25} 26 27 28Block& Block::operator = (const Block& b) 29{ 30 mChip = b.mChip; 31} 32 33void Block::Update() 34{ 35 /* 36 for (std::array<Mapchip>::iterator itr = mChip.begin(); itr != mChip.end(); itr++) 37 { 38 39 } 40 */ 41} 42 43void Block::Draw() 44{ 45 46} 47 48//コンストラクタ 49Block::~Block() 50{ 51 52} 53
#ifndef ___MAPCHIP_HPP_ #define ___MAPCHIP_HPP_ #include "../LoadTexture.hpp" #include "../Collision.hpp" #include "../Sprite.hpp" #include "Object.hpp" #include <iostream> #include "glm/glm.hpp" /*####################################################################### * NOTE * マップチップ一枚の情報 * #########################################################################*/ class Entry; class MapChip : public Object { public: /* * Entry クラス * オブジェクトタイプ * 画像データ * UV座標 * 座標 */ MapChip(Entry* e, ObjectType type, std::shared_ptr<TextureData> data, TextureUV uv, glm::ivec2 pos); ~MapChip(); void Update(); void Draw(); private: Box_Collision_2D Collision; std::shared_ptr<Sprite> mSprite; TextureUV UV; }; #endif
MapChipの定義はどのようなものでしょうか?
文章を編集しました。
回答2件
あなたの回答
tips
プレビュー