/app/smsprev4/opt/gcc-4.8.5/include/c++/4.8.5/ostream:471:5: note: template<class _CharT, class _Traits> std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&, _CharT) operator<<(basic_ostream<_CharT, _Traits>& __out, _CharT __c) ^ /app/smsprev4/opt/gcc-4.8.5/include/c++/4.8.5/ostream:471:5: note: template argument deduction/substitution failed:
时间: 2024-01-28 19:03:32 浏览: 88
这是一个 C++ 编译器的错误提示信息,其中提到了模板函数 std::operator<<()。这个函数用于将字符类型的参数插入到输出流中。然而,在这个错误提示中,编译器无法推断出函数模板的参数类型,导致编译失败。可能的原因是传递给该函数的参数类型与函数模板的形参类型不匹配,或者缺少必要的头文件或命名空间。如果您可以提供更多上下文或代码片段,我可以帮您更好地理解这个错误并给出更详细的解释。
相关问题
PLCXProcess.cpp:2241:32: error: invalid user-defined conversion from 'int' to 'const string& {aka const std::basic_string<char>&}' [-fpermissive] myStmt->setString(2, mediumNo); ^ In file included from /app/smsprev4/opt/gcc-4.8.5/include/c++/4.8.5/string:53:0, from PLCXProcess.h:10, from PLCXProcess.cpp:9: /app/smsprev4/opt/gcc-4.8.5/include/c++/4.8.5/bits/basic_string.tcc:212:5: note: candidate is: std::basic_string<_CharT, _Traits, _Alloc>::basic_string(const _CharT*, const _Alloc&) [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>] <near match> basic_string<_CharT, _Traits, _Alloc>:: ^ /app/smsprev4/opt/gcc-4.8.5/include/c++/4.8.5/bits/basic_string.tcc:212:5: note: no known conversion for argument 1 from 'int' to 'const char*' PLCXProcess.cpp:2241:32: error: invalid conversion from 'int' to 'const char*' [-fpermissive] myStmt->setString(2, mediumNo);
这个错误是由于在PLCXProcess.cpp文件的第2241行,将一个int类型的变量作为第二个参数传递给了myStmt->setString()函数,而该函数的第二个参数需要是一个const string&类型的变量,因此导致了类型不匹配的错误。建议将该int类型的变量转换为string类型后再进行传递。
阅读全文