我正在使用/c
实现我的餐饮哲学家问题版本,并遇到了初始化ncurses
对象向量的问题。
Fork
我想知道我的错误是什么(我不是现代C ++的经验者)。 #include <vector>
#include <mutex>
#include <ncurses.h>
...
struct Fork
{
Fork(WINDOW *fork_window) : fork_window(fork_window) {}
std::mutex m;
WINDOW *fork_window;
};
std::vector<WINDOW *> fork_windows; // properly populated later
std::vector<Fork> forks;
...
for (int i = 0; i < num_of_phils; i++)
{
forks.emplace_back(Fork(fork_windows[i]));
}
中的初始化程序列表是否错误,或者Fork
成员导致问题?我以类似的方式成功地填充了另一个向量,但是另一个结构没有std::mutex
成员,只有std::mutex
和三个WINDOW *
。
终端中的错误很长,并显示:
ints
这是我第一次看到这样的错误,并且由于没有在任何地方找到类似的情况而对其进行谷歌搜索也没有帮助。