CArrayは2次元配列を実装します
MFCでは、CArray操作の便利さを利用するだけでなく、2次元配列の機能を実現する方法は?これを実現する方法は次のとおりです。
struct MapTile
{ CString fileName; int tileX; int tileY; HBITMAPビットマップ; };
struct MapTileArray
{ CArray <MapTile、MapTile&> mapTileX; const MapTileArray&operator =(const MapTileArray&rhs) { if(this!=&rhs) { mapTileX.RemoveAll(); mapTileX.Append(rhs.mapTileX); mapTileX.FreeExtra(); } return * this; } };
2次元配列を実装するには、MapTileArrayの=演算子メソッドを実装する必要があります。
そうしないと、次のエラーが発生します。
エラーC2248: 'CObject :: operator =':クラス 'CObject'で宣言されたプライベートメンバーにアクセスできません
使用する場合のコードは次のとおりです。
typedef CArray <MapTileArray、MapTileArray&> CMapTileYArray;
static CMapTileYArray mapTilesYArray;
関連リソース:VCは2次元配列を画像として表示します
————————————————
著作権表示:この記事は、CC4.0に続くCSDNブロガー「guowseu」の元の記事です。 BY-SA著作権表示、転載のために元のソースとこのステートメントへのリンクを添付してください。
元のリンク:https://blog.csdn.net/guowseu/article/details/83526844