私は現在このマクロを持っています
#define bind(OBJECT, ROLE) \
assert( sizeof(*ROLE) == 1 ); \
ROLE = reinterpret_cast<decltype(ROLE)>(OBJECT);
名前の競合の問題が発生しているため、これを次のようなテンプレート化された関数に移動したいと思います
template<typename T1, typename T2>
void bind(T1 obj, T2 r) {
assert( sizeof(*r) == 1 );
r = reinterpret_cast<T2>(obj);
};
しかし、これは不可能だと思いますが、これについて確認したいですか? r を変更するには、ポインターへのポインターが必要ですか?