使用 MSVC 编译时,以下代码会生成 C4100 警告。这怎么可能?显然引用了“应用程序”。
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());
}
您正在使用的函数调用application
object 是静态函数,因此它们并没有真正引用application
object.
setOrganizationName
setOrganizationDomain
setApplicationName
setApplicationVersion
都是静态成员吗QCoreApplication
which QApplication
源自于。使用application
引用仅解析这些函数的名称范围,但实际上并未使用该对象。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)