次のようなC#ソースコードのスニペットに遭遇しました
int* ptr = ...;
int w = ...;
int* ptr3 = ptr + (IntPtr)w;
CS0019: Operator '+' cannot be applied to operands of type 'int*' and 'System.IntPtr'
このコードは、OSに依存するwによってptrアドレスを前方に移動しようとしていたと思います。これは正しいですか?また、このコードをコンパイルするにはどうすればよいですか?