MFCのSerialize,Desirialize part.3 CMap<int,CStringArray*>にて
結論から言うと、出来なそう。 トータルで2時間ほど粘ったが、断念しました。 まず
CMap<int, int, CStringArray, CStringArray&>
で宣言すると怒られます。 =オペレータがない。 で、
CMap<int, int, CStringArray*, CStringArray* &>
でやると一見大丈夫そうですが、Desirialize がうまくいかないです。 でもたしかにCStringArrayの要素数がいくつかわからないのにMFCが勝手に判断してnewしてくれるとも思えないので、これは出来ないと結論づけました。 もし上記のことをやりたいなら、
CMap<int,int,CString,CString>
で、Serialize,Desirializeは行って、 CString <--> CStringArrayを内部で行ってやる必要がありそうです。