キャスト演算子をオーバーロードしたいのですが、次のコードがあります。
template <typename _T>
class CTest
{
public :
_T data;
CTest(_T _data) : data(_data) {}
~CTest() {}
operator _T(){ return data; }
};
また、MS Visual Studio 2005では、次のエラーが発生します。
警告C4003:マクロ' T'の実際のパラメーターが不足しています警告C4003:マクロ' _T'の実際のパラメーターが不足していますエラーC2833:'演算子L'が認識された演算子またはタイプではありませんクラステンプレートのインスタンス化の参照'CTest <_T> 'コンパイル中エラーC2059:構文エラー:'newline'エラーC2334:'{'の前に予期しないトークンがあります。見かけの関数本体エラーをスキップしますC2833:'演算子L'は認識された演算子またはタイプではありません
演算子_T()を正しく宣言するにはどうすればよいですか?