正如标题所说,我遇到了函数在函数完成之前执行的问题。这是一个问题,因为它打乱了我的程序流程。我的 main() 函数如下所示:
int main()
{
FilePath1();
FilePath2();
VideoConfig1();
VideoConfig2();
VideoRecord();
return 0;
}
FilePath 函数如下所示:
void FilePath1()
{
cout << "Please enter the full filepath for where you want to save the first video: ";
cin >> filepath1;
cin.ignore();
}
问题是 VideoConfig1() 直接在 FilePath1() 之后启动,与 FilePath2() 同时启动。有谁知道为什么会发生这种情况?
我尝试使用 waitKey() 作为 VideoConfig1() 的初始化,但没有效果。
编辑:
该程序应该按如下方式工作:
- 运行 FilePath1()
- 让用户输入要保存的 video1 的文件路径
- 运行 Filepath2()
- 让用户输入要保存的 video2 的文件路径
- 运行 VideoConfig1()
- 运行 VideoConfig2()
- 运行 VideoRecord()
两个 FilePath 程序在终端中运行,而其他程序则打开各自的视频窗口。该程序目前正在做的是:
- 运行 FilePath1()
- 让用户输入要保存的 video1 的文件路径
- 运行 Filepath2() 和 VideoConfig1()
- 让用户输入要保存的 video2 的文件路径
- 如果在 VideoConfig1 之前 FilePath2 尚未完成,则使整个程序崩溃
- 运行 VideoConfig2()
- 运行 VideoRecord()