【发布时间】:2020-03-11 19:44:05
【问题描述】:
前几天在做一些模板元编程时遇到了一些奇怪的事情。它基本上归结为这个断言没有(如我所料)通过。
static_assert(std::is_same_v<void(), std::remove_reference_t<void()&>>);
起初我以为我在定义函数引用时犯了一个语法错误,但这个断言通过了,表明情况并非如此。
static_assert(std::is_same_v<void()&, void()&>);
我也尝试实现 remove_reference 自己从 cppreference 复制源代码,但这也不起作用。这是怎么回事?
【问题讨论】: