shuimiao 发表于 2021-4-6 17:03:27

文本型参数如果是空白文本值就无法回传到调用方?

本帖最后由 shuimiao 于 2021-4-6 20:36 编辑

这算不算bug呢?如图所示,在调试输出中文本型变量作为方法参数回传数据有问题,变量有内容时就能正常回传并调试输出,没有内容就获取不到回传数据,而第二行重新调试输出该变量却又有数据



。。。。

创世魂 发表于 2021-4-6 17:10:24

空文本。肯定也会传递过去的啊。。。只不过。火山调试输出不会输出空文本。。算是细节上的一点不足。。

shuimiao 发表于 2021-4-6 20:16:43

创世魂 发表于 2021-4-6 17:10
空文本。肯定也会传递过去的啊。。。只不过。火山调试输出不会输出空文本。。算是细节上的一点不足。。 ...

不是说的调试输出不会输出空文本,而是文本变量如果是空文本,作为参数放入方法里面调用回传,是无法得到回传内容到这个文本变量里的。而是文本变量必须有内容,才能得到方法回传。你可以试试

shuimiao 发表于 2021-4-6 20:24:58

创世魂 发表于 2021-4-6 17:10
空文本。肯定也会传递过去的啊。。。只不过。火山调试输出不会输出空文本。。算是细节上的一点不足。。 ...

看这个例子,第一次是得不到回传的


shuimiao 发表于 2021-4-6 20:37:51

创世魂 发表于 2021-4-6 17:10
空文本。肯定也会传递过去的啊。。。只不过。火山调试输出不会输出空文本。。算是细节上的一点不足。。 ...

这个例子更准确些。如图所示,在调试输出中文本型变量作为方法参数回传数据有问题,变量有内容时就能正常回传并调试输出,没有内容就获取不到回传数据,而第二行重新调试输出该变量却又有数据


sinuo 发表于 2021-4-6 20:52:17

我也有这个疑问,像组数 对象 这些是引用类型,肯定都会变 ,基本数据类型除文本型 别的都不会变,就这个文本,不知道 是基本类型,还是引用类型.或许是bug

飞扬工作室 发表于 2021-4-6 21:20:39

你这样写:

调试输出 ("b", b, 方法回传 (b))

C++参数处理顺序是从后向前的.

shuimiao 发表于 2021-4-6 23:59:19

飞扬工作室 发表于 2021-4-6 21:20
你这样写:

调试输出 ("b", b, 方法回传 (b))


吴总,如果是从后往前运算,也就是逆向运算,那我的写法里面,调试输出的最后一个变量a就是最先输出的,就应该是原来的内容,也就是这时候还没有从方法回传内容给a。可是实际上,当a在调用方法回传之前本身有任意内容,先输出的a就已经有了方法的回传内容,分明是正向运算啊;而当a在调用方法回传之前本身空白内容,先输出的a就一样是空白内容(看起来没有获得回传内容,或者没有执行回传方法),这样就符合逆向运算。

吴总,建议你照着我的截图里面的代码测试一下,我估计是调试输出()的bug

飞扬工作室 发表于 2021-4-7 17:40:30

参数处理是逆向的,但是参数压栈是正向的.

页: [1]
查看完整版本: 文本型参数如果是空白文本值就无法回传到调用方?