Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 简单记录器的故障_C++_Logging - Fatal编程技术网

C++ 简单记录器的故障

C++ 简单记录器的故障,c++,logging,C++,Logging,我试图用静态方法创建一个简单的日志类,但是当我尝试记录一些constchar*变量时遇到了麻烦,我想知道为什么。它表示错误:表达式必须具有整数或非范围枚举类型。我在stackoverflow和google上找到了它,但不知怎么的,它并不能帮助我把它做好。 日志记录方法如下所示: void Logger::log(const char* message){ #ifdef _DEBUG std::cout<< "[INFO]" << message <<

我试图用静态方法创建一个简单的日志类,但是当我尝试记录一些
constchar*
变量时遇到了麻烦,我想知道为什么。它表示
错误:表达式必须具有整数或非范围枚举类型
。我在stackoverflow和google上找到了它,但不知怎么的,它并不能帮助我把它做好。 日志记录方法如下所示:

void Logger::log(const char* message){
#ifdef _DEBUG
    std::cout<< "[INFO]" << message << std::endl;
#endif
}

void Logger::err(const char* message){
#ifdef _DEBUG
    std::cout << "[ERROR]" << message << std::endl;
#endif
}
void记录器::日志(常量字符*消息){
#ifdef_调试

std::cout问题与日志记录无关。不能使用
+
连接
C
字符串

"Getting value: " + name // Not going to work.

如果您使用的是
c++
,我会尽可能使用
std::string
,因为
std::string确实支持
++
进行连接。

问题与您的日志记录无关。您无法使用
+
连接
c
字符串

"Getting value: " + name // Not going to work.

如果您使用的是
c++
,我会尽可能使用
std::string
,因为
支持
++
进行连接。

char*
char const*
是指针类型,而不是类或结构,因此不支持使用
+
运算符进行连接


使用C++的方式,使用C++处理字符串的方式:用<代码> > const char */> >:字符串>和/代码> .< /p> < p> <代码> char *<代码>或代码> char const */COD>是指针类型,不是类或结构,因此不支持使用<代码> +< /C>操作>连接。

使用C++,使用C++处理字符串的方式:用<代码> > const STD::String和< /C> > /< P> > p>表达式< < /P> 获取值:“+name+”失败

其中name为
const char*name
是一个错误,因为全局命名空间中没有运算符+采用
const char*
。必须使用
strcat
strcpy

<>在C++中,你应该使用<代码> STD::String < /Cord>这是非常灵活的(即动态调整大小):

表情

获取值:“+name+”失败

其中name为
const char*name
是一个错误,因为全局命名空间中没有运算符+采用
const char*
。必须使用
strcat
strcpy

<>在C++中,你应该使用<代码> STD::String < /Cord>这是非常灵活的(即动态调整大小):

表达式
获取值:“+name+”:“+node->value()
几乎不是
字符常量*
。表达式
获取值:“+name+”:“+node->value()
几乎不是
字符常量*
char* Config::getConfigValue( std::string name){
    //...
    Logger::log("Getting value: " + name + ": "+ node->value());
}