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

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

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


长吧!!!哈哈哈

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

*******

*******

热心的度娘告诉小寅有一篇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 

最新文章

  1. iOS开发者证书申请过程
  2. iOS 生命周期
  3. 离屏渲染学习笔记 /iOS圆角性能问题
  4. HDU 2065 “红色病毒”问题 --指数型母函数
  5. java-No exception of type ConfigurationException can be thrown; an exception type must be a subclass of Throwable
  6. spring 异常管理机制
  7. utf-8转换为ansi和修改文件名的批处理(可解决source insight中文注释乱码问题)
  8. Window2008 R2(64位)使用codesmith连接Sqlite
  9. SQL Server判断是否满足日期格式(YYYYMMDD)以及中文等判断,格式化为YYYY-MM-DD
  10. 神经网络ANN——SPSS实现
  11. spring boot 2.0.0由于版本不匹配导致的NoSuchMethodError问题解析
  12. mysql Access denied for user root @localhost (using password:YES)错误
  13. JavaScript中的prototype和__proto__细致解析
  14. 顺便谈谈对于Java程序猿学习当中各个阶段的建议
  15. LeetCode题解之Pascal&#39;s Triangle II
  16. 78-WS2812-Library (STM32F4)
  17. 使用taro开发钉钉的E应用报错 You are currently using minified code outside of NODE_ENV === &quot;production&quot;. This means that you are running a slower development build of Redux. You can use loose-envify (https://git
  18. 添加用户到 sudo
  19. javascript中全局变量的定义
  20. 倍福TwinCAT(贝福Beckhoff)常见问题(FAQ)-为什么没有自动识别成标准FBD功能块

热门文章

  1. 12. 集合类Collection和Map
  2. java连接oracle数据库jdbc
  3. jQuery写toTop(回到顶部)效果
  4. Linux零拷贝技术,看完这篇文章就懂了
  5. Oracle_InstantClient 及PL/SQL Developer工具的安装
  6. RGW 学习 前言
  7. 前端笔记之微信小程序(四)WebSocket&amp;Socket.io&amp;摇一摇案例&amp;地图|地理位置
  8. SpringBoot 2 HTTP转HTTPS
  9. 值得花费一周研究的算法 -- KMP算法(indexOf)
  10. Go包管理工具dep