好吧,我认为解决两个具有相同名称的功能时遇到问题,我不知道如何解决它。
我有一个Qt类,它是QDialog(Qt)的子类。我想使用'fstat'来获取有关该文件的信息,使用如下代码
struct stat file_info;
int hd = open("/home/test/file.xml", O_RDONLY);
fstat(hd, &file_info);
close(hd);
但是当我这样做时,我从编译器那里得到了这个抱怨。
error: no matching function for call to 'Test::open(const char [19], int)'
/usr/local/Trolltech/Qt-4.7.3/include/QtGui/qdialog.h::99:10: note: candidate is: void QDialog::open()
有什么方法可以解决这个问题吗?
感谢。
答案:
如Caladan提到的那样,:: open()就可以了。第二个答案(使用stat而不是fstat)同样有效。谢谢!
答案 0 :(得分:3)
您可以尝试调用:: open(),这将提示编译器不应该在当前范围内查找。
您也可以使用stat()来获取文件名而不是描述符。
答案 1 :(得分:0)
您是否包含这些头文件?
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>