我不完全确定我在这里选择了正确的方法,所以我将首先勾勒出问题:
我需要一个基类(可能是抽象的),它为它的所有子类保存一个便利构造函数,该构造函数返回该子类的静态实例,并接受类型为boost::tuple<std::string>
or的参数boost::tuple<short, int>
。
我的基类是什么样的:
class BaseClass{
public:
template<typename TCLASS, typename TUPLE>
static TCLASS* createPacketFromStruct(TUPLE s){
TCLASS* p = new TCLASS();
p->structure = s;
p->createMessageFromStruct();
return p;
}
};
但我无法从该模板中获取静态实例。