以下dlang语言报错提示cannot modify inout expression a请解释下代码如下:void swapinout int a inout int b int tmp = a; a = b; b = tmp;void main int x = 1; int y = 2; swapx y; writelnx; 输出2 wri
在D语言中,inout表示传入的参数既可以被读取也可以被修改。在swap函数中,a和b都是inout类型,因此可以被修改。但是在函数中,不能修改inout参数的引用,也就是不能修改a和b的地址,只能修改它们指向的值。因此,如果尝试修改a或b的地址,就会导致编译器报错提示cannot modify inout expression a。
原文地址: https://www.cveoy.top/t/topic/eS6k 著作权归作者所有。请勿转载和采集!