昨天还可以正常运行的程序,怎么今天改了程序的结构就报错了呢?我明明没有改动函数内部啊!!!

内心无数只“草泥马”在奔腾,这可咋办呢?于是乎,小寅开始求助于亲爱的度娘......

由于小寅知识水平有限,终于在花了很长的时间后找到了原因所在,时间大概这么


长吧!!!哈哈哈

首先向各位小伙伴展示一下小寅的错误代码,如下图:

*******

*******

热心的度娘告诉小寅有一篇CSDN的文章有解决方法:

Ps: 原文地址:https://blog.csdn.net/youyicc/article/details/80403833  (小寅是爱护知识产权的好青年,再此奉上大佬的文章地址)

抱着崇拜大佬的心态(菜鸟内心独白),小寅勇敢的加上了::(此处双冒号是中文,主要是方便大家阅读,因为英文双冒号太小了)

果然在大佬的指引下,伟大了VS也屈服了,那让人恶心的红色波浪线终于去世了,哈哈哈哈。

然而。。。。。。。。。。。。。。

小寅可是个爱学习 的孩子,我并不知道为什么要这样做啊!!!

于是乎,我有吭哧吭哧地跑去找度娘了.....

又过了很久。。。。。。。。很久。。。。。。

我终于回来了~~~~

待我向大家娓娓道来,看完你就会不由自主的发出一声 “哦,原来是这样啊” 的赞叹,哈哈哈哈

首先,解释双冒号都有些啥子作用:

1. 表示“域操作符”:

  例如:你有一个神奇的类,它叫做A(小明),A中有一个成员函数叫做function1(),当你要在cpp文件中定义这个函数时,应该这样写 A::function()

2. 表示全局函数,直接用在全局函数前:

  这个用法就是我们上面的解决方法

3. 表示引用成员函数及变量,作用域成员运算符:

  例如:System::Math::Sqrt() 相当于System.Math.Sqrt()

其次,解释完了双冒号的作用,可能有些小伙伴还是有点迷糊

重点来了,敲黑板(屏幕)!

1. 在我们一开始,bind的函数报错的原因是由于我们引用了命名空间std,如图:

2. 这时我们查找std下的函数是会发现有一个和套接字bind绑定同名的函数,如图:

3. 所以报错的原因就一目了然了:我们原本想要使用#include<WinSock2.h>头文件下的bind函数,结果却由于作用域的冲突造成

  bind函数变成了std下的函数。

然后,进一步提出更优解:

不要随意的使用

using namespace std;

而应该这样使用

std::cout<<x<<std::endl

这样的话就不容易造成作用域冲突,而且也比在bind函数前加::要更加严谨。

证据如图:

******整篇文章就结束啦,希望这篇文章能够给小伙伴们提供一丁点帮助******

Thanks for your reading 

C++ socket bind()函数报错 不存在从 "std::_Binder<std::_Unforced, SOCKET &, sockaddr *&, size_t &>" 到 "int" 的适当转换函数的更多相关文章

  1. php 升级到 5.3+ 后出现的一些错误,如 ereg(); ereg_replace(); 函数报错

    在php5.3环境下运行,常常会出现 Deprecated: Function ereg() is deprecated in...和Deprecated: Function ereg_replace ...

  2. js执行函数报错Cannot set property 'value' of null怎么解决?

    js执行函数报错Cannot set property 'value' of null 的解决方案: 原因:dom还没有完全加载 第一步:所以js建议放在body下面执行, 第二步:window.on ...

  3. [转]html页面调用js文件里的函数报错onclick is not defined处理方法

    原文地址:http://blog.csdn.net/ywl570717586/article/details/53130863 今天处理html标签里的onclick功能的时候总是报错:Uncaugh ...

  4. python 3 直接使用reload函数报错

    reload()是python2 的内置函数可以直接使用,但是python3 直接使用此函数报错,需要导入importlib 模块 from importlib import reload

  5. Linux 下使用C语言 gets()函数报错

    在Linux下,使用 gets(cmd) 函数报错:warning: the 'gets' function is dangerous and should not be used. 解决办法:采用 ...

  6. 光流法draw_flow()函数报错

    光流法draw_flow()函数报错 import cv2 from scipy import * def draw_flow(im, flow, step=16): ""&quo ...

  7. updatexml和extractvalue函数报错注入

    updatexml()函数报错注入 updatexml (XML_document, XPath_string, new_value); 第一个参数:XML_document是String格式,为XM ...

  8. Windows环境下启动Redis报错:Could not create server TCP listening socket 127.0.0.1:6379: bind: 操作成功完成。(已解决)

    问题描述: 今天在windows环境下启动Redis时启动失败报错: 解决方案: ①运行命令:redis-cli.exe ②退出Redis ③运行命令:redis-server.exe redis.w ...

  9. sendEmail报错:at /usr/share/perl5/vendor_perl/IO/Socket/SSL.pm

    sendEmail发送邮件是出现以下报错: *******************************************************************  Using the ...

随机推荐

  1. php 排序和置顶功能实现

    (1)排序操作思路 一般来说都是按照发布时间排序.时间戳大的靠前,所以用倒序desc,而不是asc (2)置顶操作思路: 点击置顶时,修改数据库addtime字段值为当前时间即可.因为排序是按照时间戳 ...

  2. 下载Opencv和OpencvSharp,让我们开始图像之旅

    我们学习和使用OpencvSharp,还下载Opencv干什么?很简单,研究人家的源码是最好和最快速的学习方式. 第一Opencv源码下载,网络上很多,请大家自行搜索,版本请下载4.1.0.当前你要用 ...

  3. python带有GIL解释器锁

    1.GIL是什么?GIL的全称是Global Interpreter Lock(全局解释器锁),来源是python设计之初的考虑,为了数据安全所做的决定. 2.每个CPU在同一时间只能执行一个线程(在 ...

  4. 用多个分隔符切分字符串---re.split()

    问题/需求: 需要将字符串切分,但是分隔符在整个字符串中并不一致 (即:需要用多个分隔符切分字符串) str.split()方法不可行: 只支持单一分隔符,不支持正则及多个切割符号,不感知空格的数量 ...

  5. python_Tensorflow学习(三):TensorFlow学习基础

    一.矩阵的基本操作 import tensorflow as tf   # 1.1矩阵操作 sess = tf.InteractiveSession() x = tf.ones([2, 3], &qu ...

  6. mac安装ElasticSearch+head+node+一个例子~

    1.下载ElasticSearch 官网下载链接:https://www.elastic.co/cn/downloads/past-releases(进去的可能会比较慢,网络好的情况下会好一些) 我下 ...

  7. 在一个含有1-n的序列中,每次找到第Ki小的数,并把它删除(线段树)

    提交链接 Data structure is one of the basic skills for Computer Science students, which is a particular ...

  8. Zookeeeper应用实践(四)

    zk的应用还是非常广泛的. 1. 分布式锁 单机环境下的锁还是很容易去实现的,但是在分布式环境下一切都变得不是那么简单.zk实现分布式锁的原理还简单,因为在分布式环境中的zk节点的变化会被每一台机器w ...

  9. 为什么我们不用JIRA

    很多人问我,缺陷管理工具,为什么不用jira?而去自己造轮子开发一款bug记录系统 缄默如我,原因众多.如果只是3-5分钟就能讲的请的时候,我会先列出什么糟点呢? 1. 收费,一个人一个月的费用差不多 ...

  10. RocketMQ中PullConsumer的启动源码分析

    通过DefaultMQPullConsumer作为默认实现,这里的启动过程和Producer很相似,但相比复杂一些 [RocketMQ中Producer的启动源码分析] DefaultMQPullCo ...