std ::应用于模板化函数中的构造函数

时间:2019-07-04 16:37:39

标签: c++ templates tuples

我正在编写通用代码,我需要使用通用可变参数元组调用通用模板参数T的构造函数:

T& init_and_return(ArgsTuple& args)
{
    m_data = std::apply(&T::T, args); // here compiler complains
    return m_data;
}

在我的主体中,T将是一种称为A的类型。 编译器说“ T中没有名为A的成员”。

如何以通用方式引用T的构造函数?

1 个答案:

答案 0 :(得分:8)

构造函数不是函数或方法,就像其他方法一样,它是特殊的,您不能使用其地址。我个人认为应该可行,但事实并非如此。

C ++标准具有make from tuple,可满足您的需求。

CloseHandle