独自のキャスト規則を実装し、コンパイラにエラーではなく警告を表示させることは可能ですか?
私は現在、SFML を使用しており (知らない場合は問題ありません)、次のような単純な Vector2 構造を持っています。
template <typename T>
struct Vector2 {
Vector2<T>(T,T);
T x,y;
}
現在、私はこれをかなり頻繁に使用しており、ソース コードを変更できないため、この構造のカスタム キャスト ルールを設定したいと考えています。私は現在、 を必要とする関数を持っていますがVector2<int>
、私が使用する関数は a を返しVector2<unsigned int>
、コンパイラはその関数を別の関数にキャストできないようです。これは少し奇妙です。
キャストを使用できる(そしてstatic_cast
機能する)ことはわかっていますが、このような単純な変換には少し手の込んだように思えます。また、このためにプログラムをテストできないのは少しばかげています。だから私がおそらく探しているのは、そのようなキャストルールを設定できるコンパイラコマンドです。