私はいくつかの調査を行っていますが、まだ私の問題の解決策を見つけることができません。私の知る限り、関数の外部で変数を宣言すると、それらはヒープ内に割り当てられ、そのメモリは実行が終了するまで解放されません。delete
特に関数でそうしない限り。コードの先頭で宣言された変数を解放するために次の関数を試しましたが、どれも機能しませんでした(dbgdel.cppでデバッグエラーが発生しました):delete
、、。私は何が間違っているのですか?delete []
free()
要約されたバージョンのコードの下に貼り付けます。どんな助けでも大歓迎です。ありがとうございました!
(グローバル変数は通常、適切なプログラミングでは望ましくないことはわかっていますが、私のコードではありません。そのまま修正しようとしています。)
#include <stdio.h>
#include <conio.h>
#include <cv.h>
#include <highgui.h>
#include <cxcore.h>
#include "Viewer.h"
....
// Arrays
float z_base [5201][5201];
....
uchar maskThreshold [5200][5200];
...
void main(){
.....
delete [] z_base;
//free (z_base);
//delete z_base;
//free (&z_base);
}