gpt4 book ai didi

c++ - 调用成员 C++ 函数但 C 函数具有相同的名称

转载 作者:太空宇宙 更新时间:2023-11-04 08:20:46 25 4
gpt4 key购买 nike

我正在使用 C 库

#define read _io_read

但我有一个 C++ 类,它继承了一个成员函数“read”。我试图从另一个成员函数调用成员函数但是编译器认为我正在尝试在全局范围内调用 C 函数。

我尝试了以下方法

//header
namespace myNameSpace{
class B : public A{
int read();
int do_read();
}
}

//cpp
using namespace myNameSpace;
int B::read(){
//other code needed
_io_read();
}

int B::do_read(){
this.read(); // here is where compiler resolves to _io_read
}

这附近有没有?我宁愿不重命名基类 A 的读取函数,因为我无法更改不属于我的代码。

TIA

最佳答案

你可以使用:

int B::do_read(){
#undef read
this.read(); // here is where compiler resolves to _io_read
#define read _io_read
}

关于c++ - 调用成员 C++ 函数但 C 函数具有相同的名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33509597/

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