私はVC6からVC9への移行プロジェクトに取り組んでいます。VC9(Visual Studio 2008)で、参照を受け入れるメソッドにconstメンバーを渡すときにコンパイルエラーが発生しました。VC6ではエラーなしでコンパイルされています。
サンプルプログラム:
class A
{
};
typedef CList<A, A&> CAlist;
class B
{
CAlist m_Alist;
public:
const B& operator=( const B& Src);
};
const B& B::operator=( const B& Src)
{
POSITION pos = Src.m_Alist.GetHeadPosition();
while( pos != NULL)
{
**m_Alist.AddTail( Src.m_Alist.GetNext(pos) );**
}
return *this;
}
エラー:上記のプログラムをコンパイルしているときに、次のようなエラーが発生しました
エラーC2664:'POSITION CList :: AddTail(ARG_TYPE)':パラメータ1を'const A'から'A&'に変換できません
このエラーを解決するのを手伝ってください。