该函数定义为static bool foo(const std::string& iVariable);
属于A类。
当我使用if (A::foo(Var))
时,我发现A :: foo(Var)的返回值不会改变,我在很多地方使用它,并且Var
被更改。那么这是否意味着在我第一次使用它之后,A :: foo(Var)的返回值将被修复?非常感谢!
答案 0 :(得分:2)
查看A :: foo的文档,看看它是否在第一次调用后忽略了参数。如果确实如此,那么您不应期望返回值发生变化。如果它没有这么说,那么你应该期望值以某种方式改变,这取决于输入以及文档希望告诉你的其他东西。
当然,文档可能是错误的或误导性的,在这种情况下,查看源代码可以澄清这一点。
如果没有文档,我建议您与代码的作者交谈。
如果您是作者,您可能还有一些工作要做。