我有一堆子类,每个子类都有不同参数编号和类型的静态类工厂方法,并且还希望使用jsonpp通过json数据文件加载的数据实例化它们 .

所以说我将为参数提供一个Json :: Value对象数组,是否有一种聪明的方法,使用宏或c中的某些东西来创建接受Json :: Value数组并调用原始方法的备用代理方法,例如)

Foo* Foo::create(int a, const char* b) { /* ... */ }
Foo* Foo::create(Json::Value args) { //the Json::Value args represents an array value here
    // can I avoid having to manually create each of these Json methods?
    return Foo::create(args[0].asInt(), args[1].asCString());
}

对不起,我的c还在加快速度 . 我发现了一些似乎涉及解包元组参数的主题,例如,

但我不确定采用哪种方法 . 谢谢您的帮助