我正在对我的项目进行一些类型检查。下面的例子
using namespace std;
cout << ( is_convertible<ostream,ostream>::value ? "TRUE":"FALSE" ) << endl;
返回“假”。
谁能解释一下为什么?
最佳答案
is_convertible
测试是否为虚函数
To test() { return std::declval<From>(); }
格式正确(source)。
std::ostream
是 std::basic_ostream<char>
的别名.它的复制构造函数被删除,它的移动构造函数被保护。
所以 test
虚函数不是良构的。
简而言之,您询问是否可以从 ostream 移动构建 ostream,答案是“否”。
关于c++ - 为什么 ostream 不能转换为 ostream?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43070539/