2012-10-10 119 views
0

嗯,我想我解決兩個函數具有相同名稱的問題,我不知道如何解決它。與Qt使用fstat QDialog

我有一個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提到,開放::()的伎倆。第二個答案(使用stat代替fstat)同樣有效。謝謝!

回答

3

你可以嘗試調用:: open(),它會提示編譯器不應該在當前作用域中查找。

您也可以使用stat(),它只是獲取文件名而不是描述符。

0

你有這些頭文件嗎?

#include <sys/types.h> 
#include <sys/stat.h> 
#include <fcntl.h>