「FTexture2DRHIRef」(または「TRefCountPtr」)の型は「FRHITexture2D *」に変換できるのですが
以下のコードはWIndowsのVisualStudio2019では通るのですがLinuxのClangの場合ではコンパイルエラーになります
FRHITexture2D* InColorRHI;
FTexture2DRHIRef Texture;
// 代入処理とか
FRHITexture2D* BaseFisheyeRHI = bFisheyeDownsample ? Texture : InFisheyeColorRHI;
キャストを行うか正しくは以下のようにGetRefer
FRHITexture2D* BaseFisheyeRHI = bFisheyeDownsample ? Texture.GetReference() : InFisheyeColorRHI;
FTexture2DRHIRef型のGetReferenceメソッドは、基盤となるFRHITexture2Dオブジェクトへの生のポインタを返します。これにより、さらにキャストすることなく、コード内で直接ポインタを使用することができます。
キャスティングは予期せぬ動作を引き起こすことがあるため、正しく安全に使用することが重要です。
例えば、FTexture2DRHIRefオブジェクトが初期化されていない場合、GetReferenceメソッドはヌルポインタを返し、FRHITexture2Dオブジェクトにアクセスしようとすると、ヌル参照例外が発生する可能性があります。