我有一个QStringList变量,它在Sql.cpp文件中有一些列表,但我想在Edit.cpp中使用该列表。怎么做??
在sql.h中:
public:
QString path;
static QStringList list;
在sql.cpp中 - > connectDB()函数:
void sql::connectDB()
{
QDir dir;
path=ui->dbpath->text();
dir.setPath(path);
dir.setNameFilters(QStringList()<<"*.db");
list= dir.entryList();
}
当我调用entryList时,列表中存储的文件名列表为QStringList。
edit.cpp:
void edit::on_pushButton_clicked()
{
SecDialog s;
s.setModal(true);
qDebug()<< sql::list.at(0);
s.exec();
}
我在edit.cpp文件中包含了sql.h文件。 但是我收到错误“Sql.cpp:error:undefined reference to Sql :: list” 在两个使用列表的文件中。希望你能解决我的问题..
答案 0 :(得分:0)
您可以在Edit.cpp中将其声明为extern。
extern QStringList VarName;
<强>更新强> 好像你需要在你的sql.cpp
中添加QStringList sql::list;
定义