^ /app/smsprev4/lib/Transaction9308/XJTxtLog.h:80:6: note: no known conversion for argument 1 from 'std::string {aka std::basic_string<char>}' to 'const char*' PLCXProcess.cpp:5095:27: error: no matching function for call to 'XJUtilClass::XJTxtLog::info(std::string&)' pLogger->info(strlog_db); ^
时间: 2024-04-20 22:27:00 浏览: 71
这是另一个编译错误信息,它指出在PLCXProcess.cpp文件的5095行调用了一个XJUtilClass::XJTxtLog::info函数,但是该函数没有接受一个std::string类型的参数。实际上,该函数只接受一个const char*类型的参数,这是一个C风格的字符串。因此,编译器无法将std::string类型的参数转换为const char*类型,导致编译错误。你需要在调用该函数之前将std::string类型的参数转换为const char*类型。
相关问题
from PLCXProcess.cpp:9: /app/smsprev4/lib/Transaction9308/XJTxtLog.h:80:6: note: int XJUtilClass::XJTxtLog::info(const char*, ...) int info(const char* szFormat, ...); ^ /app/smsprev4/lib/Transaction9308/XJTxtLog.h:80:6: note: no known conversion for argument 1 from 'std::string {aka std::basic_string<char>}' to 'const char*' PLCXProcess.cpp:5188:27: error: no matching function for call to 'XJUtilClass::XJTxtLog::info(std::string&)' pLogger->info(strlog_db);
这个错误的原因是XJTxtLog::info()函数的参数是const char*类型的,而你传入了一个std::string类型的参数。你需要将std::string类型的参数转换成const char*类型的参数,可以使用c_str()函数来完成这个转换,例如:
pLogger->info(strlog_db.c_str());
LCXProcess.cpp:5095:27: note: candidate is: In file included from /app/smsprev4/lib/Transaction9308/Transaction.h:13:0, from /app/smsprev4/lib/Transaction9308/Transaction9308.h:10, from PLCXProcess.h:39, from PLCXProcess.cpp:9: /app/smsprev4/lib/Transaction9308/XJTxtLog.h:80:6: note: int XJUtilClass::XJTxtLog::info(const char*, ...) int info(const char* szFormat, ...); ^
这是一个编译错误信息,其中给出了一个函数的候选项。这个函数是在XJTxtLog.h文件中定义的,名为XJUtilClass::XJTxtLog::info,它返回一个整数,并接受一个const char*类型的参数szFormat和可变数量的参数(...)。这个函数可能被用于在应用程序日志中记录信息。
阅读全文