在进入方法之前,我需要对以下内存访问冲突进行一些理论解释:
String testMethod (AnsiString param1);
AnsiString A1 = testMethod(A1);
我试图理解问题背后的理论。
A1
被 while 的返回值初始化,testMethod()
同时它被传递给testMethod()
. 在实际输入方法之前会发生什么?当传递给testMethod()
它时没有实际值/随机值,是吗?创建了一个本地副本A1
,实际上在该过程中是否发生异常?
尝试调试,输入了很多AnsiString
, UnicodeString
, 和AnsiStringBase
方法。
为什么它会起作用,当我以这种方式更改方法签名时:
AnsiString testMethod (AnsiString param1);