所以我的问题在于这行代码:
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"
在我尝试使用它的文件中。当我想到它时,有点尴尬。再次感谢您的时间。 ♥