假设我想将一组命令行选项转发给一个 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)**)。