c++新手错误C2512 : no appropriate default constructor available

标签 c++

我是 C++ 的新手,我想从第二个 .cpp 页面调用一个类/函数。

错误:

error C2512: 'QueryAuthServer' : no appropriate default constructor available

新.h

class QueryAuthServer : public CNtlSession
{
public:
    void SendCharLogInRes(CNtlPacket * pPacket);
}

新.cpp

void QueryAuthServer::SendCharLogInRes(CNtlPacket * pPacket)
{
    ....
}

主要.cpp

QueryAuthServer C;
C.SendCharLogInRes(pPacket);

错误在main.cpp 我已经使用谷歌并查看了具有相同错误的其他页面,但我不明白如何解决该错误。我读到,应该缺少有关“C”的内容,但我不知道是什么..

最佳答案

如果您的基类 - CNtlSession 没有默认构造函数,则编译器将无法为您的派生类 - QueryAuthServer 自动生成默认构造函数。如果你需要一个,你必须自己写,准确地指出你希望你的基类子对象如何初始化。

class QueryAuthServer : public CNtlSession
{
public:
    QueryAuthServer() :CntlSession(/*PROVIDE ARGUMENTS HERE!*/)
    {
    } 
};

关于c++新手错误C2512 : no appropriate default constructor available,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24182687/

相关文章:

c++ - 为什么选择的是重载基类值的默认参数值,而不是执行的派生方法中指定的默认值

c++ - 错误 : comparison between signed and unsigned integer expressions?

c++ - 找出 vector 中的所有元素是假还是真 C++ 的最快方法?

c++ - Xilinx Microblaze 结构填充/包装

c++ - std::string 方法与 STL 的其余部分具有不同的样式是否有原因

c++ - 在同一行读取字符串和整数

c++ - GDB,如何暂停系统时钟?

c++ - 使用 Makefile 在编译中排除源文件

c++ - 休息床示例

c++ - 没有数组的多个项目