gpt4 book ai didi

c++ - 静态 QStringList 的 undefined reference

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:30:58 25 4
gpt4 key购买 nike

因此,我想在我的电子表格应用程序的“文件菜单”中创建一个“最近的文件”部分。在构建应用程序时,应该更新 recentFileActions QStringList 的函数生成以下错误/home/axel/QtSDK/Code/QMainWindow/mainwindow.cpp:-1: error: undefined reference to 'MainWindow::recentFiles '

所以从错误中我得到 recentFiles 未定义?因为我在标题的私有(private)部分中有这个:QStringList static recentFiles;

这是整个 updateRecentFileActions() 函数:

void MainWindow::updateRecentFileActions(){
QMutableStringListIterator i(recentFiles);
while (i.hasNext()) {
if (!QFile::exists(i.next()))
i.remove();
}

for (int j = 0; j < MaxRecentFiles; ++j) {
if (j < recentFiles.count()) {
QString text = tr("&%1 %2")
.arg(j + 1)
.arg(strippedName(recentFiles[j]));
recentFileActions[j]->setText(text);
recentFileActions[j]->setData(recentFiles[j]);
recentFileActions[j]->setVisible(true);
} else {
recentFileActions[j]->setVisible(false);
}
}
separatorAction->setVisible(!recentFiles.isEmpty());
}

我会添加任何缺失的信息。

谢谢。

最佳答案

QStringList static recentFiles;

那只是声明。您需要在源文件中定义静态变量:

QStringList MainWindow::recentFiles;

如果您不明白为什么需要这样做,请查看 See this faq item .

关于c++ - 静态 QStringList 的 undefined reference ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9649860/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com