MSVC C4100: Application: Raw Formal Parameter Warning

The following code generates a C4100 warning when compiling using MSVC. How is this possible? The "application" is explicitly referenced.

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()); } 
+4
source share
1 answer

Functions called with the application object are static functions, so they do not reference the application object.

 setOrganizationName setOrganizationDomain setApplicationName setApplicationVersion 

All static members of QCoreApplication obtained, of which QApplication . Using the application link only resolves the namespace for these functions, but the object is not actually used.

+7
source

Source: https://habr.com/ru/post/1333529/


All Articles