Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 运行chandy mishra haas算法时出现语义错误_C++ - Fatal编程技术网

C++ 运行chandy mishra haas算法时出现语义错误

C++ 运行chandy mishra haas算法时出现语义错误,c++,C++,我编写了一个C++程序,在eclipseforcdt(C/C++)中实现ChandyHaasMishra算法或模型 #包括 #包括 #包括 #包括 #包括 使用名称空间std; void engage_查询(向量图、int init、int dest); 无效显示图(矢量图); 无效回复查询(向量图,int init,int dest); int no_的_过程; 向量等待; 向量msg_计数; int no_of_死锁=0; int nou of_结=0; bool死锁_标志=0; int m

我编写了一个
C++
程序,在
eclipseforcdt(C/C++)
中实现
ChandyHaasMishra
算法或模型

#包括
#包括
#包括
#包括
#包括
使用名称空间std;
void engage_查询(向量图、int init、int dest);
无效显示图(矢量图);
无效回复查询(向量图,int init,int dest);
int no_的_过程;
向量等待;
向量msg_计数;
int no_of_死锁=0;
int nou of_结=0;
bool死锁_标志=0;
int main(){
int-probe_-pid;
int站点=0;
cout站点;
对于(int i=0;icout问题在于转发声明与实际函数定义不匹配:

void reply_query(vector<vector<int> > graph, int init, int dest);
...
void reply_query(vector<std::vector<int> > &graph, int init, int dest)
void-reply\u查询(向量图、int-init、int-dest);
...
无效回复查询(向量和图形、int init、int dest)
它使编译器认为有两个不同的重载,当您调用
reply\u query()
时,这两个重载都是可行的候选重载,因此它无法决定使用哪一个


最简单的解决方案是尽可能避免转发声明,方法是对函数重新排序,使
reply\u query()
位于
main()

之前。问题是转发声明与实际函数定义不匹配:

void reply_query(vector<vector<int> > graph, int init, int dest);
...
void reply_query(vector<std::vector<int> > &graph, int init, int dest)
void-reply\u查询(向量图、int-init、int-dest);
...
无效回复查询(向量和图形、int init、int dest)
它使编译器认为有两个不同的重载,当您调用
reply\u query()
时,这两个重载都是可行的候选重载,因此它无法决定使用哪一个


最简单的解决方案是尽可能避免转发声明,方法是对函数重新排序,使
reply\u query()
位于
main()

之前。哦…我没有考虑那些转发声明。谢谢你…哦…我没有考虑那些转发声明。谢谢你。。。