0
我想要編寫一個循環,通過一個從鄰居到鄰居的某個函數迭代的同一個結構的幾個實例(在我的情況下命名爲edg),直到它返回一個表示STOP的元素。我試着用NULL返回它,但它不起作用。我可以使用什麼?我可以使用什麼作爲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的某個值,將其定義爲rej並在我的循環中替換:
while(my_edg!=edg_marked_as_rejection)
但是有沒有另外一種方法呢?
有'提升: :optional'。 – chris
「我試着用NULL返回它,但它不起作用。」 - 爲了工作(編譯!),你必須返回一個指針。 –
[是由C++標準定義的空結構?](http://stackoverflow.com/questions/16666871/is-empty-struct-defined-by-c-standard) –