我正在使用 C++ Builder XE3,但我遇到了 AnsiString 的一个奇怪问题。
看看下面的代码
//Code 1: first time
AnsiString temp1 = "test" ;
funcA(temp1,temp1);
//Code 2: second time
String uTemp2 = "test";
AnsiString temp2 = uTemp2;
funcA(temp2,temp2);
出乎我的意料,它第一次运行良好,但第二次抛出“格式错误”异常。即使我只是用代码 2 调用了一次 funcA,问题仍然存在。
因为当我在 temp1 或 temp2 中 ShowMessage 时没有区别。我完全不明白为什么两次通话给了我不同的结果。
funcA 来自第三个库,代码有点复杂。所以在我追踪这个库的代码之前,我想我应该知道 Code1 和 Code2 有什么区别。
谢谢。