質問: メイン関数の繰り返し方を知りたいです。 下記のサンプルで実験を行っているのですが、全ての画像処理が終わった後に、条件・保存先を変更(異なるメイン関数に移動)して連続して作業を行繰り返したいです。 メイン関数1が終わるとメイン関数2に。 メイン関数2が終わるとメイン関数3に。 といった感じです。 (自分がいなくても自動的に作業を進めたい) メイン関数をコピーして、その後に追加しても int mainはすでに本体を持っていますというエラーがでます。 よろしくお願い致します。 ``` int main( int argc , char** argv) { FILE *file; file=fopen("C:\\opencv_ICImage\\最終評価\\樹脂ネジ\\1\\結果\\result2.csv","w"); //画像処理 cvWaitKey(10); //メモリ解放 cvReleaseImage(&img); cvReleaseImage(&scale_img); cvReleaseImage(&copy_img1); cvReleaseImage(&copy_img2); cvReleaseImage(&grey_img1); cvReleaseImage(&grey_img2); cvReleaseImage(&dst1); cvReleaseImage(&dst2); cvDestroyWindow("result"); } fclose(file); //メモリ解放 cvReleaseImage(&temp_up); cvReleaseImage(&temp_side); cvReleaseImage(&grey_temp_up); cvReleaseImage(&grey_temp_side); //メモリ開放 cvDestroyWindow("img_window"); return 0; } ```
回答: main関数は一つしか持てません。 よって、行いたい処理をthreadを作って回すか、もっと単純にwhile文などのループ関数を使うかになります 保存ファイル名の変更等はユーザー入力するか、 名称固定ならばファイル名を動的に作成または予め決めておいて順次ファイル名を渡すということになります 条件も固定ならば同様、ユニークにするならばユーザー入力が必要です