続・MFCのコレクションクラス
20年前のソースコードなのでSTLが全く使われていなくて、MFCのコレクションクラスをメインで使っているんですが、
CList< int > a; for ( int i = 1; i <= 30; ++i ) { a.AddTail( i ); } CList< int > b; POSITION posB = a.GetHeadPosition(); // お寝ぼけ for ( POSITION posA = a.GetHeadPosition(); NULL != posA; a.GetNext( posA ) ) { b.AddTail( a.GetAt( posA ) ); } for ( ; NULL != posB; b.GetNext( posB ) ) { TRACE( _T("%d "), b.GetAt( posB ) ); }
こんな感じで変数bの先頭データを間違って変数aの先頭データで設定してしまっていたんですが、これちゃんと動作してしまうんですよね。
//CList< int > b; CList< double > b;
のように変更すると動かなくなった。