带有附加指定模板参数的 C++ 模板参数推导
发布时间:2022-07-17 19:37:25 227
相关标签: # golang
我遇到了模板参数推导的问题。以下符合没有问题,编译器可以推导出模板参数:
template
class DummyBase {
public:
DummyBase() = delete;
constexpr DummyBase(const char (& i)[a_size]) {
}
};
constexpr const auto dummy = DummyBase{"f"};
但是,以下内容无法编译,并且编译给我一个错误,即我没有提供足够的参数:
template
class DummyBase {
public:
DummyBase() = delete;
constexpr DummyBase(const char (& i)[a_size]) {
}
};
constexpr const auto dummy = DummyBase<1>{"f"};
唯一的变化是我提供了一个额外的(无用的)模板参数。编译无法推断出它,因此我提供了一个明确的值。如果我正确理解了理论,那么编译器应该尝试推断未明确提供的其他模板参数。然而,它要么不尝试推断论点,要么突然无法推断它,尽管提供给它的推断信息没有变化。(顺便说一句,我很确定这是模板参数的正确顺序,但为了安全起见,我用相反的顺序尝试了它,但它也不起作用)
有人可以告诉我发生了什么以及我是否/如何解决它?
特别声明:以上内容(图片及文字)均为互联网收集或者用户上传发布,本站仅提供信息存储服务!如有侵权或有涉及法律问题请联系我们。
举报