VisualStudio2003のVC++で派生クラスの親を基底クラスのvectorにすると、
基底クラスにCArrayを使うとコンパイルが通らなくなります。
ClassA : public ClassB な場合に、ClassBのメンバにCArrayを使えません。
(コピーコンストラクタが使えないと言われ、作るとマネージにしろと怒られる)

CTypedMapPtrのCMapStrToObjでもVALUEに指定するクラスに多重継承を使うと
CMapStrToObjのメソッドが使えなくなります。
CTypedMapPtr<CMapStrToObj, CString, ClassC*>な場合に、
ClassC : public ClassD, public ClassC ではCTypedMapPtrのメンバしか
見えなくなります。

これはどちらも仕様として諦めるしかないのでしょうか?
過去に同じような問題で解決できた方がいらっしゃいましたらご教示お願いします。