gpt4 book ai didi

c++ - 函数调用前的::是什么意思?

转载 作者:行者123 更新时间:2023-11-30 03:33:17 24 4
gpt4 key购买 nike

<分区>

I2CDevice::I2CDevice(unsigned int bus, unsigned int device) {
this->file=-1;
this->bus = bus;
this->device = device;
this->open();
}

int I2CDevice::open(){
string name;
if(this->bus==0) name = BBB_I2C_0;
else name = BBB_I2C_1;

if((this->file=::open(name.c_str(), O_RDWR)) < 0){
perror("I2C: failed to open the bus\n");
return 1;
}

if(ioctl(this->file, I2C_SLAVE, this->device) < 0){
perror("I2C: Failed to connect to the device\n");
return 1;
}

return 0;
}

以上是Linux I2C接口(interface)的部分代码,我的问题是:

this->file=::open(name.c_str(), O_RDWR)

我认为这是尝试使用 open() 函数为文件描述符 this->file 赋值。但是为什么会有一个“::”符号呢?为什么不只是“open()”。

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com