首页| 论坛| 消息

标题:static const QVector初始化
作者:介农酥
日期:2022-06-17 10:11
内容:

static const QVector< const QString> typeVec;
怎么初始化?
比如,这样初始化
const QVector< const QString> ClassName::typeVec
{
"1"
"2"
"3"
}
报如下错:
error: invalid conversion from 'const void*' to 'void*'


#1 [realfan 06-20 09:38]
const QVector ClassName::typeVec
{
"1"
"2"
"3"
}
类型的const去掉就好了。QVector容器里面的类型,如果不是指针,如const char*,加了const,没有意义
#2 回 realfan 的帖子 [介农酥 06-20 16:00]
realfan:const QVector ClassName::typeVec
{
"1"
"2"
"3"
....... (2022-06-20 09:38) 
为什么没有意义,在问这个问题之前,我也想过,不过没想明白,你看啊:
外面的const,说明typeVec是不能改的,QVector是一个类,这个类是const,说明整个类是不能改的,确实里面的const没啥意义,我想我当时是把QVector看成是一个真正意义上的数组了,所以,认为,这typeVec是一个地址,外面的const使的这个地址不能边,然后里面的const就像是下面存在的内容(内存顺序排列),表示const不能变,类似于const int const a[],这么看确实是毫无意义哦,多谢指教!

回复 发表
主题 版块