int8_t の参照を uint8_t の参照にキャストしようとしています。
私は次のコードを持っています:
inline mtype& operator&(mtype& mt, uint8_t& va) {
// do something
// ...
return mt;
}
inline mtype& operator&(mtype& mt, int8_t& va) {
// do the same but signed
// ...
return mt;
}
両方のオーバーロードが同じことをしているので、乾燥させたい(またはより良い drm) ため、最初の演算子を . で呼び出したいと思いcasted va
ます。しかし、どうすればいいですか?これはうまくいきません。
inline mtype& operator&(mtype& mt, int8_t& va) {
return mt& static_cast<uint8_t>(va); // error: no match for 'operator&' in 'mt & (uint8_t)va'
}
どうすればいいですか?