c ++错误c2512没有默认构造函数 - 但它就在那里

时间:2012-05-13 13:58:23

标签: visual-c++ compiler-errors default-constructor

所以我的问题在于这行代码:

gMatchmakingClient = new MatchmakingClient();

编译器失败:

  

错误C2512:'MatchmakingClient':没有合适的默认构造函数   可用

在您提出之前......是的,我确实已经定义了默认构造函数。

首先编写代码时,我创建了“matchmaking-server”和“matchmaking-client”作为项目的解决方案。他们建立并运行良好。然后我将“matchmaking-client”项目添加到游戏解决方案中,以便游戏可以使用客户端与服务器进行通信。这是奇怪的地方......编译器抱怨 MatchmakingClient 没有默认构造函数。我想这是某种包含/依赖的东西?该错误根本没有用。

以下是代码:

MatchmakingClient.h:

#include "../matchmaking-server/RakNetNetwork.h"

class MatchmakingClient
    : public RakNetNetwork
{
public:
    MatchmakingClient(void);
    virtual ~MatchmakingClient(void);
};

MatchmakingClient.cpp:

#include "stdafx.h"
#include "MatchmakingClient.h"

MatchmakingClient::MatchmakingClient(void)
    : RakNetNetwork()
{
    mHostGuid = RakNet::UNASSIGNED_RAKNET_GUID;
}

RakNetNetwork.h:

class RakNetNetwork
{
public:
    RakNetNetwork(void);
    virtual ~RakNetNetwork(void);
    // ...and so on

我正在使用Visual Studio 2010.有什么想法吗?谢谢你的时间。

更新:找到解决方案!

好的,谢谢大家的兴趣,但我发现了问题,看起来很简单。

在尝试了各种各样的事情后,我重新启动了计算机,当我再次进入VS时,智能感知它直接作为未知类型强调了它。我忘了在使用它的文件中#include MatchmakingClient.h ...为什么导致像这样的错误而不是“未知类型”或者什么......我不知道。

就是这样,解决方案是

#include "../matchmaking-client/MatchmakingClient.h"

在我尝试使用它的文件中。当我想到它时,有点尴尬。再次感谢您的时间。 ♥

0 个答案:

没有答案