为什么模板化副本构造函数会被忽略?

时间:2018-12-12 19:02:36

标签: c++

我认为此代码应打印“ hit”,但不能打印。如果注释掉第6行(模板行),它将显示“匹配”。

#include <iostream>

struct test {
    test() {}

    template<typename = typename std::enable_if<true>::type>
    test(test const & other) {
        std::cout << "hit";
    }
};

int main()
{
  test a;
  test b(a);
}

标准明确指出了这一点。有什么道理?

0 个答案:

没有答案