D语言 std.algorithm.reverse 函数使用字符串参数报错:无法调用函数错误
这个错误提示显示,传入的参数类型是'immutable(ubyte)[]',而'reverse'函数需要的参数类型必须符合以下三种类型之一:
- 元素可交换(hasSwappableElements)
- 元素可赋值(hasAssignableElements)
- 是窄字符串(isNarrowString)
因此,你可以将字符串转换为可交换元素类型的范围,例如使用'std.array.array'函数将字符串转换为字符数组,再传递给'reverse'函数:
import std.algorithm : reverse;
import std.array : array;
void main()
{
string s = 'hello';
string reversed = s.array.reverse.join();
writeln(reversed); // 输出 'olleh'
}
这里使用了'join'函数将反转后的字符数组转换回字符串。
原文地址: https://www.cveoy.top/t/topic/ofsb 著作权归作者所有。请勿转载和采集!