作者热门文章
- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我在我的项目中使用 Plog 进行日志记录。我也使用 resharper c++。
有几个用于日志记录的宏,使它不那么冗长。其中一个宏总是被标记为 Resharper 的问题,但我不知道为什么。
宏是 LOGD,扩展为
if (!plog::get<0>() || !plog::get<0>()-
>checkSeverity(plog::debug)) {;} else (*plog::get<0>()) +=
plog::Record(plog::debug, __FUNCTION__, 151, "",
__if_exists(this) { this } __if_not_exists(this) { 0 }) <<
"Message";
警告指出“this”的用法,因为它需要一个标识符。
它调用的方法有一个签名:
Record(Severity severity, const char* func, size_t line, const char* file, const void* object)
: m_severity(severity), m_tid(util::gettid()), m_object(object), m_line(line), m_func(func), m_file(file)
有没有人对此有经验并且知道如何修改宏以使其不提示?
最佳答案
我已经提交了 RSCPP-22423 ,我们将尝试在 2018.2 EAP 版本之一中修复此问题。在此之前,您可以像这样为 ReSharper C++ 重新定义 PLOG_GET_THIS
宏:
#include <plog/Log.h>
#if defined(__RESHARPER__)
#define PLOG_GET_THIS() reinterpret_cast<void*>(0)
#endif
或者类似地更新 PLOG_GET_THIS
的原始定义(它已经检查了类似的 __INTELLISENSE__
宏以确定是否可以使用 __if_exists
)。
关于c++ - Resharper C++ 和 Plog 记录器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50610921/
我在我的项目中使用 Plog 进行日志记录。我也使用 resharper c++。 有几个用于日志记录的宏,使它不那么冗长。其中一个宏总是被标记为 Resharper 的问题,但我不知道为什么。 宏是
我用oracle后端开发asp.net站点 我将数据从 .dmp 文件导入到本地数据库并从 Web 应用程序连接到数据库。 当我运行应用程序时,我收到以下错误 ORA-04063: package b
我是一名优秀的程序员,十分优秀!