QT stringlistmodel.h:14:32: Member initializer 'stringList' does not name a non
stringlistmodel.h:14:32: Member initializer 'stringList' does not name a non
报错信息提示在stringlistmodel.h
文件的第14行第32个字符处,初始化成员stringList
没有指向一个非静态成员。
解释:
在C++中,类的构造函数中成员初始化列表用来初始化类的成员变量。如果你在构造函数的初始化列表中使用了一个不是类成员的名称,或者是一个静态成员的名称,编译器会报这样的错误。
解决方法:
-
确保你在初始化列表中使用的是类的非静态成员变量。
-
如果
stringList
是静态成员变量,你不能在构造函数的初始化列表中初始化它,静态成员变量应该在类的定义外部初始化。
例如,如果stringList
是类的非静态成员变量,你应该这样初始化它:
class StringListModel {
private:
QStringList stringList;
public:
StringListModel() : stringList() {
// 构造函数的其他代码
}
// 类的其他成员函数和变量
};
如果stringList
是静态成员变量,你应该在类的定义外部初始化它:
class StringListModel {
private:
static QStringList stringList;
// 类的其他成员
};
QStringList StringListModel::stringList; // 静态成员变量的定义和初始化
欢迎讨论,相互学习。
cdtxw@foxmail.com
分类:
QT
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
2022-04-22 C#程序编译时自动更新版本号方法