c++ - 标准 POSIX 读取被具有不同签名的读取方法遮蔽

标签 c++ shadows unistd.h

我有一个具有读取功能的 C++ File 类,它应该将文件的全部内容(就像 Python 所做的那样)读入缓冲区。但是,当我尝试从 unistd.h 调用读取函数时,我得到:

file.cpp:21: error: no matching function for call to ‘File::read(int&, char*&, int)’

file.cpp:17: note: candidates are: char* File::read()

我做错了什么?它们具有完全不同的签名,为什么我不能简单地调用它?

最佳答案

您是否尝试过明确范围;

char* File::read()
{
   // Double-colon to get to global scope
   ::read(...);
   // ..
}

?

关于c++ - 标准 POSIX 读取被具有不同签名的读取方法遮蔽,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1148315/

相关文章:

c++ - WritePrivateProfileString - 不可预测

c++ - 如何使用 C++ 中的函数更新结构的值?

c++ - 有没有一种简单的方法可以在 OpenGL 中获得阴影?

c++ - char 和 char& 之间是否存在相对复制开销差异?

c++ - 构建和同步多线程游戏循环

java - libGDX 3D 阴影伪像

python - Python OpenCV 中的阴影去除

c++ - 作业dup2函数

ios - 如何替换或解决 unistd.h 中的 __TVOS_PROHIBITED 依赖项

linux - 如何知道linux系统调用的编号