main.cpp: In function ‘void PrintVector(std::vector<std::__cxx11::basic_string<char> >&, bool)’:
main.cpp:16:41: error: overloaded function with no contextual type information
std::cout << ((newline)? (std::endl) : "");
^~
为什么 std::cout 不喜欢条件 if 中的 std::endl 和字符串?
std::endl
是一个流操纵器。这是一个函数。它没有共同的类型""
。所以它们不能是条件表达式的两种类型。由于公共类型是整个表达式的类型。
你可能甚至不需要一切std::endl
除了添加新行之外,只需将其替换为"\n"
打印换行符。这样可以将常见类型推导出来const char*
在对操作数执行所有常见转换之后。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)