VC驿站

 找回密码
 加入驿站

QQ登录

只需一步,快速开始

搜索
查看: 412|回复: 3

[求助] Ubuntu环境下在类中调用socket函数报错,在main函数中又可以调用

[复制链接]
14_avatar_middle
在线会员 发表于 2018-7-12 20:06:53 | 显示全部楼层 |阅读模式
3驿站币
bool CSocket::Init()
{
    int sock = socket(AF_INET, SOCK_STREAM, 0);// 这行代码报错
    /*sockaddr_in ServerAddr;
    memset(&ServerAddr, 0, sizeof(ServerAddr));
    ServerAddr.sin_family = AF_INET;
    ServerAddr.sin_addr.s_addr = htonl(INADDR_ANY);
    ServerAddr.sin_port = htons(65521);
    bind(m_Server, (sockaddr*)&ServerAddr, sizeof(ServerAddr));
    listen(m_Server, 1024);*/
     return true;
}

int main()
{
        int sock = socket(AF_INET, SOCK_STREAM, 0);// 编译通过
        return 0;
}

报错信息:
error: expression list treated as compound expression in functional cast [-fpermissive]
     int sock = socket(AF_INET, SOCK_STREAM, 0);
                                              ^

最佳答案

查看完整内容

大概是CSocket类里面的AF_INET找不到定义?




上一篇:请教一下,C++如何将UCS-2编码的文件内容读取出来并输出出来
下一篇:已找到
04_avatar_middle
online_vip 发表于 2018-7-12 20:06:54 | 显示全部楼层
大概是CSocket类里面的AF_INET找不到定义?
14_avatar_middle
ico_lz  楼主| 发表于 2018-7-12 22:00:51 | 显示全部楼层
xiao14116 发表于 2018-7-12 20:55
大概是CSocket类里面的AF_INET找不到定义?

不是,AF_INET的定义在<sys/socket.h>头文件中
14_avatar_middle
ico_lz  楼主| 发表于 2018-7-12 22:06:32 | 显示全部楼层
找到原因了,谢谢。#define SOCKET int 不小心写成了#define socket int
您需要登录后才可以回帖 登录 | 加入驿站 qq_login

本版积分规则

关闭

站长提醒上一条 /2 下一条

QQ|小黑屋|手机版|VC驿站 ( 辽ICP备09019393号tongdun|网站地图wx_jqr

GMT+8, 2019-3-26 11:35

Powered by Discuz! X3.4

© 2009-2019 cctry.com

快速回复 返回顶部 返回列表