我想编写一个循环,遍历同一结构的多个实例(在我的例子中名为 edg),该循环由某个函数从邻居到邻居迭代,直到它返回一个说 STOP 的元素。我尝试使用 NULL 返回对其进行编码,但它不起作用。我能用什么?
这里有一些代码解释它可能比我之前的话更准确:我的结构:
struct edg{
int i,j,k;
edg(int a, int b, int c){
i = a; j = b; k = c; //I'm adding a constructor to it
}
}
我的迭代函数:
edg neighbour(edg temp){
if(temp satisfies certain criterias){ return edg(new coordinates);}
else{ return NULL;}
}
我的循环:
while(my_edg!=NULL){
my_edg = neighbour(my_edg);
}
我想我可以选择一个 edg 的某个值将其定义为拒绝,并在我的循环中替换为:
while(my_edg!=edg_marked_as_rejection)
但是还有其他方法吗?