gpt4 book ai didi

arrays - D:创建模板化对象数组

转载 作者:行者123 更新时间:2023-12-02 05:10:35 25 4
gpt4 key购买 nike

我正在尝试创建一个 Regex 对象数组,如下所示:Regex[] regexes;。编译失败,并显示 main.d(46):错误:模板 std.regex.Regex(Char) 用作类型

我发现文档很神秘。我所了解的是模板在编译时生成代码,但我不明白是什么阻止我创建 Regex 数组。

<小时/>

有一个 existing question在 StackOverflow 上也有同样的问题,但它处理的是 C++,而不是 D。

最佳答案

如果不首先使用类型实例化模板,则无法创建正则表达式对象。这是因为实际类型是在编译时根据您给出的实例化类型生成的。正则表达式本身不是实际类型,它只是一个模板函数,允许您在实例化时生成类型。

在这种情况下,您可能想要更改:

Regex[] regexes;

进入:

Regex!char[] regexes;

告诉编译器您的正则表达式包含字符而不是某些派生类型。这具体意味着您正在使用 char 类型实例化 Regex 模板。

关于arrays - D:创建模板化对象数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31652686/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com