2402d,d的变参

原文

似乎我无法传递int参数给Variant函数参数.如何解决?

只需清楚告诉编译器你想要什么即可.

cpp 复制代码
import std;
void f(Variant x) {
    writeln(x);
}
void main() {
    f(Variant(42));
    f(Variant(2.5));
    f(Variant("Hi!"));
}

给它传递个带someFunction(Variant(myInt))Variant.

或编写仅限于非变体的模板,来完成上述操作.

cpp 复制代码
auto someFunction(T)(T t)
if (!is(T : Variant))
{
    return someFunction(Variant(t));
}
auto someFunction(Variant v)
{
    //...
}
void main()
{
    someFunction(42);
    someFunction("hello");
    someFunction(3.14f);
    someFunction(true);
    someFunction(Variant(9001));
}
相关推荐
fqbqrr10 天前
2411d,右值与移动
d
fqbqrr5 个月前
2407d,D2024三月会议
d
fqbqrr8 个月前
2403d,d的com哪里错了
d
fqbqrr10 个月前
2401d,ddip1027如何支持sql
d
fqbqrr10 个月前
2401d,讨论d串滑动参数
d
fqbqrr1 年前
2312d,D语言单元测试等
d
fqbqrr1 年前
2312d,d语言作为胶水,用C++调用rust
c++·rust·d
fqbqrr1 年前
2312d,把alloca注入调用者域
d
fqbqrr1 年前
2312d,d语言来绑定C++和rust
c++·rust·d