関数テンプレートについてアドバイスをお願いします。いくつかのデータをバッファに追加する関数があります。ただし、データ型に関する情報をバッファーに追加する必要もあります。データの型は次の列挙型です。
enum ParameterType
{
UINT,
FLOAT,
DOUBLE
};
そして、次のような関数から関数テンプレートを作成する必要があります:
void SomeBuffer::append( double par )
{
appendType( DOUBLE );
memcpy( pStr + _length, &par, sizeof( double ) );
_length += sizeof( double );
appendType( DOUBLE );
}
パラメータのタイプに応じて、appendType() の ParameterType から値を渡す方法を教えてください。
template<class T>
void SomeBuffer::append( T par )
{
appendType( ??? );
memcpy( pStr + _length, &par, sizeof( T ) );
_length += sizeof( T );
appendType( ??? );
}
いくつかのマクロでそれをやろうとしましたが、成功しませんでした。アドバイスをありがとうございました。