我在我的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),了解如何发布“无法正常工作”的代码。 –