我正在使用一个外部库,并且我有一个从另一个类继承的类和下一个函数
void IOCallback::Open(const char* 文件名, bool isOpen)
我需要修改布尔值,我不能修改代码来像参考一样使用它。
无论如何我可以做到这一点吗?
我正在使用一个外部库,并且我有一个从另一个类继承的类和下一个函数
void IOCallback::Open(const char* 文件名, bool isOpen)
我需要修改布尔值,我不能修改代码来像参考一样使用它。
无论如何我可以做到这一点吗?
我需要修改布尔值,我不能修改代码来像参考一样使用它。
如果你的意思是这样...
bool b = false;
IOCallback callback;
callback.Open(filepath, b);
if(b) { // <- will never actually evaluate to anything but false
// do something
}
......那么,好吧,你不能。该函数接收其参数的副本。您可以在函数内自由修改参数,但您无法以调用者能够看到所述修改的方式进行修改。
我质疑这个请求背后的原因。如果您编写了代码,那么您可以修改它或添加另一个重载版本来执行您需要的操作。如果您没有编写代码并且无法修改它,那么它从一开始就没有打算改变它的参数,那么可以获得什么?