私は、コードから出力するための特殊なメソッドを提供するためにenum引数を持つテンプレートを使用しています。
template
struct sensorOutput;
template<>
struct sensorOutput
{
void setData(Objects& objs)
{
//output specific to DEVICE1
//output velocity
objs.set(VELOCITY, vel[Device::DEVICE1]);
//output position
objs.set(POSITION, pos[Device::DEVICE1]);
}
};
template <>
struct sensorOutput
{
void setData()
{
//output specific to DEVICE2
//output altitude
objs.set(ALTITUDE, alt[Device::DEVICE2]);
}
};
私は今、速度と位置を出力するDEVICE1に似た別のセンサーを追加します。
複数の専門分野を設定する方法はありますか?私が試してみました
template <>
struct sensorOutput
struct sensorOutput
{
void setData()
{
//output specific to DEVICE1 and DEVICE3
//output velocity
objs.set(VELOCITY, vel[d]);
//output position
objs.set(POSITION, pos[d]);
}
};