我在我的blob類中有一個名爲size的int成員,其值我嘗試在方法中更改。最初,我試圖...無法用方法更改成員值
void blob::make_union(blob parent_blob){
parent=&parent_blob;
parent_blob.size = parent_size
}
然後我嘗試了一個函數,其唯一目的是改變大小的值。值得注意的是,它改變了函數中的值,如某些cout語句所驗證的。
int blob::change_size(int dat_size){
size=size+dat_size;
return this.size;
}
後,使得新方法改變我的另一種方法
'void blob::make_union(blob parent_blob){
parent=&parent_blob;
int temp = size;
parent_blob.size = parent_blob.change_size(temp);
}'
仍然沒有骰子。主要功能中的以下功能確實起作用。
if (charmatrix[m-1][n-1]==charmatrix[m][n]){ blobmatrix[m][n].make_union(blobmatrix[m-1][n-1]); blobmatrix[m-1][n-1].size=blobmatrix[m-1][n-1].size + blobmatrix[m][n].size;
我在做什麼錯?
什麼是「父母」? 'parent_blob'是'make_union'函數的局部變量,所以如果在函數退出後使用'parent',那麼你遇到了很大的麻煩。 –
你也應該解釋你預期會發生什麼,以及實際發生了什麼;說「沒有骰子」或「無法改變」。沒有人知道你認爲應該發生什麼,甚至你的代碼是什麼,因爲你也沒有包括產生意外行爲的代碼。 –
[參見本頁](http://stackoverflow.com/help/mcve),瞭解如何發佈「無法正常工作」的代碼。 –