关于描述删除 std::future 和 std::promise 的无效特化的论文 P0241R0 .这可能是一个愚蠢的问题,但建议的解决方案是完全删除 void 特化,但是当人们想要实例化一个 std::future<void>
时,他们期望做什么?目的?
最佳答案
如引用文献中所述,这是可能的 if void
were a regular type .
void get_value() {
void x;
return x;
}
这是它在其他一些语言中的工作方式,因此并非没有先例。在其他语言中,它被称为“单位”类型,因为它只有一个可能的值。 (其他语言也有“null”类型,它没有可能的值,所以如果你试图创建一个类型,你会得到一个错误。它被命名为“null”,但它与空指针无关。)
关于c++ - 移除 std::future 和 std::promise 的无效特化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44079787/