1

我正在使用 http://axter.com/ezlogger/index.htm 上提供的EzLogger

我试图从该网站编译简单的示例代码来测试 C++ 记录器。我有一些错误,我发现我可以使用 -fpermissive gcc 选项编译它。现在,我有这样的警告消息:

In file included from src/ezlogger_headers.hpp:18,
src/ezlogger.hpp: In static member function ‘static void axter::ezlogger<EZLOGGER_OUTPUT_POLICY, EZLOGGER_FORMAT_POLICY, EZLOGGER_VERBOSITY_LEVEL_POLICY>::log_out(const char*, int, const char*, axter::ext_data, bool, const T&)’:
src/ezlogger.hpp:248: warning: there are no arguments to ‘get_log_stream’ that depend on a template parameter, so a declaration of ‘get_log_stream’ must be available
src/ezlogger.hpp:248: warning: there are no arguments to ‘get_log_prefix_format’ that depend on a template parameter, so a declaration of ‘get_log_prefix_format’ must be available
src/ezlogger.hpp:249: warning: there are no arguments to ‘get_log_stream’ that depend on a template parameter, so a declaration of ‘get_log_stream’ must be available
src/ezlogger.hpp: In static member function ‘static void axter::ezlogger<EZLOGGER_OUTPUT_POLICY, EZLOGGER_FORMAT_POLICY, EZLOGGER_VERBOSITY_LEVEL_POLICY>::log_out(const char*, int, const char*, axter::ext_data, bool, const T1&, const T2&)’:
src/ezlogger.hpp:255: warning: there are no arguments to ‘get_log_stream’ that depend on a template parameter, so a declaration of ‘get_log_stream’ must be available
src/ezlogger.hpp:255: warning: there are no arguments to ‘get_log_prefix_format’ that depend on a template parameter, so a declaration of ‘get_log_prefix_format’ must be available
src/ezlogger.hpp:256: warning: there are no arguments to ‘get_log_stream’ that depend on a template parameter, so a declaration of ‘get_log_stream’ must be available
src/ezlogger.hpp: In static member function ‘static void axter::ezlogger<EZLOGGER_OUTPUT_POLICY, EZLOGGER_FORMAT_POLICY, EZLOGGER_VERBOSITY_LEVEL_POLICY>::log_out(const char*, int, const char*, axter::ext_data, bool, const T1&, const T2&, const T3&)’:
src/ezlogger.hpp:262: warning: there are no arguments to ‘get_log_stream’ that depend on a template parameter, so a declaration of ‘get_log_stream’ must be available
src/ezlogger.hpp:262: warning: there are no arguments to ‘get_log_prefix_format’ that depend on a template parameter, so a declaration of ‘get_log_prefix_format’ must be available
src/ezlogger.hpp:263: warning: there are no arguments to ‘get_log_stream’ that depend on a template parameter, so a declaration of ‘get_log_stream’ must be available

有没有办法删除警告信息?

4

1 回答 1

1

我不确定我是否找到了自己问题的答案。

首先,我注意到一篇文章,其中暗示了在较新版本的 C++ 标准中可以更正的内容。当使用多个带有“模板”的基类时,“应该”明确指定方法属于哪个基类。在帖子中,将使用保留字“this”。在我的例子中,函数是静态的,我必须在函数前面加上 get_log_stream,前面带有双冒号的类名。

于 2012-06-04T14:00:24.117 回答