返回 WinSock2 SOCKET 的方法无法编译

Method returning a WinSock2 SOCKET doesn't compile

我想使用 WinSock2 在 c++ 中创建一个 returns SOCKET 对象的方法。

//header
#pragma once
class MyClass
{
public:
    SOCKET createSocket();

};

//definitions

#include "class.h"
#include <WinSock2.h>
SOCKET MyClass::createSocket()
{
    return SOCKET();
}

然而,Visual Studio 抛出错误(E0147,C++ 声明与“(在第 7 行声明的)”不兼容。)

我该如何解决这个问题?

#include <WinSock2.h> 在 header 中缺失。 (感谢约翰尼莫普)