コードに直接ジャンプすると、これが私がやりたいことです。
size_t len = obj->someLengthFunctionThatReturnsTypeSizeT();
array<int>^ a = gcnew array<int>(len);
これを試すと、エラーが発生します
size_t から int への変換、データ損失の可能性
int に明示的にキャストせずにこのコードをコンパイルする方法はありますか? 特に LongLength プロパティがあるため、配列をこのサイズに初期化できないのは奇妙だと思います (そして、長さを int としてしか初期化できない場合、int よりも大きい long として長さを取得するにはどうすればよいでしょうか? )。
ありがとう!
PS:本当に size_t である配列を割り当てることは実際的ではないかもしれないという記事を見つけましたが、それは問題ではないと思います。ポイントは、初期化したい長さが size_t 変数に格納されていることです。