掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
CArrayについて (ID:56654)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
class aaa{ /*------------ 略 -------------*/ }; class bbb{ /*------------ 略 -------------*/ CArray<aaa, &aaa> aArray; } class ccc{ /*------------ 略 -------------*/ CArray<bbb, &bbb> bArray; } class ddd{ /*------------ 略 -------------*/ CArray<ccc, &ccc> cArray; } このような形で独自クラスを配列化しているのですが、 配列化したクラスでAddを使用するとエラーが出ますした。 エラー内容は afxtempl.h 内の処理で、operator =を処理できませんとの事。 単純に各クラスにoperator = (下記)を追加しましたが、それでもafxtempl.h で引っかかります。 void xxx::operator = (xxx& dest){ /*------------ 略 各メンバのコピー ------------*/ xArray.Copy(dest.xArray); } ------------ c:(略)\afxtempl.h(64): error C2679: 二項演算子 '=' : 型 'const bbb' の右オペランド を扱う演算子が見つかりません (または変換できません)。 ------------ 該当行のソース↓ *pDest++ = *pSrc++; operator = は全クラスに追加したのですが。。。 しかもエラーはbbbのみ。何故??? cArray.Copy(dest.cArray) を削除すればエラーが消えるのですが、 これでは operator = でメンバのコピーが正常にできません。 どんどん混乱してきてどうしようかという状態なのですが… どなたか解決策、対応をご教授お願い致します。
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.