【问题标题】:In member function, wrong function gets "executed"在成员函数中,错误的函数被“执行”
【发布时间】:2016-06-25 06:35:54
【问题描述】:

我在命名空间“ns”中有一个带有类“Connection”的头文件。 “Connection”类有一个名为“connect”的函数,它在内部使用 Winsock“连接”功能。当我想在 .cpp 文件中定义函数时,由于参数错误,我得到错误。就像它不想“使用”来自 winsock API 的连接函数,只是成员函数。

在 .cpp 文件中看起来像这样:(不是最终版本)

bool ns::Connection::connect(char IP[],unsigned short Port)
{
    SOCKADDR_IN server_addr;
    memset(&server_addr,0,sizeof(SOCKADDR_IN));

    server_addr.sin_family = AF_INET;
    server_addr.sin_port = Port;
    server_addr.sin_addr.s_addr = inet_addr((const char*)IP);

    connect(client,&server_addr,0); // here comes the error
}

【问题讨论】:

    标签: c++ function class member


    【解决方案1】:

    使用全局命名空间调用正确的命名空间:

    ::connect(client,&server_addr,0);
    

    【讨论】:

    • 非常感谢您的服务!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-11
    相关资源
    最近更新 更多