2010-12-28 22 views
4

次のコードは、MSVCを使用してコンパイルするときにC4100警告を生成します。これはどのように可能ですか? "appliation"は明らかに参照されています。あなたがapplicationオブジェクトを使用して呼び出しているMSVC C4100: 'application':参照されていない仮パラメータ警告

class ApplicationInfo : public QObject 
{ 
    Q_OBJECT 

    public: 
     ... 
     static void initialize(QApplication &application); 
     ... 
    ... 
} 

void ApplicationInfo::initialize(QApplication &application) 
{ 
    application.setOrganizationName(ApplicationInfo::organizationName()); 
    application.setOrganizationDomain(ApplicationInfo::organizationName()); 
    application.setApplicationName(ApplicationInfo::applicationName()); 
    application.setApplicationVersion(ApplicationInfo::applicationVersion().toString()); 
} 

答えて

7

機能は静的関数なので、彼らは本当にapplicationオブジェクトを参照されていません。

setOrganizationName 
setOrganizationDomain 
setApplicationName 
setApplicationVersion 

QApplicationから派生QCoreApplicationのすべての静的なメンバです。 application参照を使用すると、これらの関数の名前スコープのみが解決されますが、オブジェクトは実際には使用されません。

関連する問題