【发布时间】:2018-10-24 10:36:57
【问题描述】:
我的问题是,如果我在特定字段的设置方法中打印字段的能量值,它将被打印,但是如果我在退出设置方法后立即尝试打印它(代码行2 或 3) 它的值始终为零。
使用 set-method void Field::_dEnergy(double dEnergy),我想为 dEnergy 的 vvoField[][] 赋值。
this->_vvoField()[uiY][uiX]._dEnergy(dCurrentEnergy);
std::cout << this->_vvoField()[uiY][uiX].dEnergy;
std::cout << "Energy: " << this->_vvoField()[uiY][uiX]._dEnergy();
我的 get-/set-methods 如下所示:
void Field::_dEnergy(double dEnergy) { this->dEnergy = dEnergy; std::cout << this->dEnergy; };
double Field::_dEnergy() { return this->dEnergy; };
(出于测试目的,我将所有内容都设置为公开。get 和 set 以及 Field 中的实际变量 dEnergy。)
我在括号中指定字段时有什么问题吗?或者我的问题是什么?如果我打印每个场的能量,没有一个设置不同于零,所以我猜 get 总是给出 0。
【问题讨论】:
-
您是否添加了一个矢量
对象并将一个字段对象添加到您的矢量_vvoField? (_vvoField()[uiY][uiX] 存在吗?) -
是的,每个字段也有一个 X 和一个 Y 位置,如果我尝试获取它们,它就可以正常工作。