c++ - log4cpp - log4cpp::AppenderSkeleton 不存在默认构造函数

标签 c++ inheritance logging log4cpp

我最近在我的项目中链接了 log4cpp,并尝试创建一个这样的类:

class ConsoleAppenderSkeleton : public log4cpp::AppenderSkeleton
{
     private:
        Console& console;

     public:
        ConsoleAppenderSkeleton(Console& console) : console(console)
        {
          // Error! no default constructor exists for log4cpp::AppenderSkeleton
        }
}

我尝试过的

  • 添加另一个构造函数:ConsoleAppenderSkeleton(void);
  • 删除初始化列表

知道是什么原因造成的吗?我知道我需要实现诸如 close() 之类的继承函数,但是这些函数不应导致此错误,并且在 C++ 中,您不会被迫覆盖,它只会以奇怪的方式,如果你不这样做

最佳答案

您没有显式调用基类的构造函数,它也没有空构造函数。它的构造函数需要一个 std::string 参数。当您重写一个类时,您应该注意到这一点。

关于c++ - log4cpp - log4cpp::AppenderSkeleton 不存在默认构造函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19572489/

相关文章:

c++ - ex.what() 嵌套 try-catch 的变化

c++ - 如何在 C++ 中查找程序的类名和标题?

delphi - 从泛型参数继承在 Delphi XE 中不起作用

azure - 使用 Azure Function V2 Durable 函数时,ILogger 不会记录到 Application Insights

java - 为 JAVA CONSOLE CLIENT 打印 SOAP 消息

android - 我如何启动在 Android 上运行 logcat 的进程?

C++ 代码在 Linux 上比在 Windows 上慢得多

c++ - 从 FFT 样本计算频率?

java - java中的继承函数

java - 向现有对象添加新属性