我是 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/