dmd2语言提示报错:safe function D main cannot call system function我应该怎样解决类似问题呢
这个报错是因为你在一个 @safe 函数中调用了一个 @system 函数。在 DMD2 中,@safe 函数只能调用其他 @safe 或 @trusted 函数,而不能调用 @system 函数,因为 @system 函数可能会引起内存不安全或其他不可预知的行为。
要解决这个问题,你可以考虑以下几种方法:
-
将调用
@system函数的代码移到一个单独的@system函数中。 -
将调用
@system函数的代码移到一个@trusted函数中。@trusted函数可以调用@system函数,但是需要手动确保其安全性。 -
如果你确定调用
@system函数是安全的,可以将当前函数标记为@trusted。
注意,使用 @trusted 标记函数会使代码变得不安全,因为 D 编译器不会对其进行任何安全检查。因此,应该尽可能避免使用 @trusted 标记函数,除非你确信它是安全的。
原文地址: http://www.cveoy.top/t/topic/e39Z 著作权归作者所有。请勿转载和采集!