假设我想将一组命令行选项转发给一个 C 函数,声明如下,其中 D main 接受 args
extern (C) void init(int argc, char** argv);
void main(string[] args) {
init(args.length, map!(toStringz)(args));
}
第一个参数很简单,但我尝试应用于toStringz
数组args
似乎不起作用。我明白了cannot implicitly convert expression (map(args)) of type MapResult!(toStringz,string[]) to char**
。您如何转换string[]
为char**
(或什至const(char)**
)。