C++相談室 part7
■ このスレッドは過去ログ倉庫に格納されています
002621
NGNGミスって書き込んでました。どっちかに統一して見て。
>>25
VC.NET と VC6
でちょっと変えて実験してみたところ、VC.NETは下のはコンパイルできませんでした。
VC6の場合はコンパイルするのになんかコツがいるみたい。(^^;
(場所1から場所2)をコメントアウトして
一度ビルドして、コメントをはずして、改行を入れると、なぜかコンパイルできる。
やっぱり、operator == 系の特殊化は無理なのかな。
template<typename T> class Test :public T
{
friend bool operator ==(const Test<T>& t1,const Test<T>& t2);
};
template<> class Test<CString>
{
public:
friend bool operator ==(const Test<CString>& t1,const Test<CString>& t2);
};
template<> class Test<CWnd>
{
public:
friend bool operator ==(const Test<CWnd>& t1,const Test<CWnd>& t2);
};
template <typename T> bool operator ==(const Test<T>& t1,const Test<T>& t2)
{
return true;
}
//****場所1
bool operator ==(const Test<CString>& t1,const Test<CString>& t2)
{
return true;
}
bool operator ==(const Test<CWnd>& t1,const Test<CWnd>& t2)
{
return true;
}
//******場所2
■ このスレッドは過去ログ倉庫に格納されています