当没有前缀的时候::有什么意义呢?

What is the meaning of :: when nothing is prefixed to it?

本文关键字:什么 前缀      更新时间:2023-10-16

我正在做一个涉及套接字和QT的项目,我想从sys/socket.h中使用套接字函数,而不是QT自带的函数(这是因为我正在遵循一些教程类型的东西)。

以下代码:

if (connect(sock, (const struct sockaddr *) &servAddr, (socklen_t) sizeof(servAddr)) < 0){    //connect to server

导致以下错误:

错误:调用MainWindow::connect(int&;Const sockaddr*, socklen_t)'

我通过在connect()前面添加::来修复这个问题,就像这样:

if (::connect(sock, (const struct sockaddr *) &servAddr, (socklen_t) sizeof(servAddr)) < 0){    //connect to server

据我所知,我可以使用::前缀命名空间,但它在当前使用中意味着什么?我只是从论坛帖子中发现了如何修复我的错误,但它并没有解释它背后的潜在思想。使用::.

的其他技巧吗?

表示从全局作用域中获取它之后的表达式。