这在D盘中不起作用。
void doSomething(auto a, auto b){
// ...
}
我只是好奇,这个方法是否有效?还是说这个方法在技术上根本不可能实现?(或者只是很愚蠢的想法?)
无论如何,有没有其他的方法可以实现这个目标?我想我可以使用...
并查看参数列表,但我正在为懒惰的新手人群创建一个库,希望他们能够轻松地创建函数而不必关心数据类型。我正在考虑创建一个名为var
的结构体,例如:
struct var{
byte type;
void* data
// ...
}
// and overload like all operators so that a lazy devver can do
var doSomething(var a, var b){
if(a == "hello")
b = 8;
var c = "No.:" ~ b ~ " says:" ~ a;
return c;
}
但我已经开始感到头疼了。而且,我觉得可能有些东西我还不了解。我也很清楚这可能是模板该做的事情...确实是吗?从我所知道的少量信息来看,一个模板应该是这样的(?)
void doSomething(T, U)( T a, U b){
// ...
}
但现在它看起来不那么清晰了。也许我把一切都搞反了。也许我的困惑源于我认为auto
是一种动态类型,类似于JavaScript中的var
,但实际上,它是其他什么东西?
如果它不是动态类型,这可能是另一个完全不同的话题,是否有可能创建一个动态类型?或者甚至有一个开源库可用吗?也许是一个liblazy?
(PS. 是的,也许懒惰的开发人员就是我: )