c++ - 将文字字符串作为 const char * 参数传递会导致代码分析器错误

标签 c++ eclipse-cdt code-analysis invalid-argument

我有重载函数

int put_message(int level, int sys_log_level, const char * inp_message);
int put_message(int level, int sys_log_level, const std::string &inp_message);

并调用这个函数

put_message(0, LOG_ERR, "clock_gettime error");

代码已编译并可以运行 但是 Eclipse CDT 代码分析器说

Invalid arguments ' Candidates are: int put_message(int, int, const char *) int put_message(int, int, const ? &) '

我该如何解决这个错误?

更新: 将 LOG_ERR 修改为 int(LOG_ERR) 后错误消失。 我没有在标题中添加。 添加解决了问题。

最佳答案

你错过了#include <string>或者与字符串类相关的东西

关于c++ - 将文字字符串作为 const char * 参数传递会导致代码分析器错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56472183/

相关文章:

C++打印从字符串字符派生的整数

c++ - 没有按钮的任务对话框

c++ - Arduino SIM800L : converting String to char* error

c++ - Eclipse CDT,build设置 - Hello World

java - 如何查看我的 Eclipse 版本?

algorithm - 不均匀划分递归算法复杂度分析

java - 自动解决代码分析的依赖关系

c# - Sonarscanner不分析netcoreapp2.2

c++ - 为什么底层类型为 int8_t 的 static_cast 枚举类会得到意外的值?

c++ - Eclipse 在子目录中找不到包含文件