感谢您对我的帮助!
我写了一些类似下面的代码,它可以正常工作
但是我不知道为什么允许重新定义
如果删除usleep重新定义,它将像原始的usleep一样
如果有人帮助我,那就太好了
#include <iostream>
#include <unistd.h>
using namespace std;
int usleep(useconds_t useconds)
{
return 100;
}
int main(int argc, char **argv)
{
cout << usleep(1000000) << endl;
}
它编译良好,并返回100
答案 0 :(得分:0)
编写using namespace std
时,并不意味着您编写的任何函数都在std
名称空间中。这意味着std
命名空间可用于非限定查询。您正在做的是遮盖std::usleep
,而不是多次定义它。您的usleep
在全局名称空间中。