最近opencvのコードをc#に変換したい。しかし、私はC + +で動的配列を宣言する上でいくつか問題があります。配列を宣言する際にC++コードをC#に変換する
int* memorySteps = 0;
CV_CALL(memorySteps = new int [ 10*sizeof(memorySteps[0]) ]);
通常のc#int配列に変換したいと考えています。問題は長さです.C++では、上記の宣言は、コンパイラが40のint要素を持つ配列を作成するようです(memorySteps [0]タイプのサイズは4,4バイト長です)。私の理解は正しいのですか?しかし、実際にはアルゴリズムでは10個のint要素の配列しか必要ないので、意味をなさない。使用し、その後、アルゴリズムは10個のアイテムを必要とする場合
int[] memorySteps =new int [10*sizeof(int)];
または
int[] memorySteps =new int [10];
他の人のコードでバグを見つける素晴らしい世界へようこそ! – dasblinkenlight
はい、そのC++コードは理にかなっていません。 –