相关疑难解决方法(0)

是否可以仅通过标识符检查成员模板的存在?

我们可以检测员function template,variable template, class/ struct/ union templatealias template不知道量或性质template/ non-template参数?

当我试着考虑这个时,没有什么真正想到的.但是让我们有成员函数模板的结构:

struct foo
{
    // Really random. Let's assume we don't know this declaration, just the name "bar"
    template <class T, std::size_t N, class... Args>
    void bar(T a, T b, T(&c)[N], Args const& ...);
};
Run Code Online (Sandbox Code Playgroud)

如何检查foo::bar模板是否存在?

基于实例化的类型特征在这里不适用,因为(理论上)我们不知道应该使用哪些参数,按什么顺序以及有多少参数.也许一些神奇的查找方法是合适的?或者也许这是不可能的?


在搜索时,我发现了这个问题,但答案中的解决方案需要有关性质的知识template.


这是我第一次尝试检测失败struct template:

struct foo
{ …
Run Code Online (Sandbox Code Playgroud)

c++ templates sfinae type-traits c++14

11
推荐指数
1
解决办法
689
查看次数

标签 统计

c++ ×1

c++14 ×1

sfinae ×1

templates ×1

type-traits ×1