查看完整版本: [-- static const QVector<const QString>初始化 --]

QTCN开发网 -> Qt基础编程 -> static const QVector<const QString>初始化 [打印本页] 登录 -> 注册 -> 回复主题 -> 发表主题

介农酥 2022-06-17 10:11

static const QVector<const QString>初始化

static const QVector< const QString> typeVec;

怎么初始化?

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

realfan 2022-06-20 09:38
const QVector<QString> ClassName::typeVec
{
"1"
"2"
"3"
}

类型的const去掉就好了。QVector容器里面的类型,如果不是指针,如const char*,加了const,没有意义

介农酥 2022-06-20 16:00
realfan:const QVector<QString> ClassName::typeVec
{
"1"
"2"
"3"
....... (2022-06-20 09:38) 

为什么没有意义,在问这个问题之前,我也想过,不过没想明白,你看啊:

外面的const,说明typeVec是不能改的,QVector是一个类,这个类是const,说明整个类是不能改的,确实里面的const没啥意义,我想我当时是把QVector看成是一个真正意义上的数组了,所以,认为,这typeVec是一个地址,外面的const使的这个地址不能边,然后里面的const就像是下面存在的内容(内存顺序排列),表示const不能变,类似于const int const a[],这么看确实是毫无意义哦,多谢指教!


查看完整版本: [-- static const QVector<const QString>初始化 --] [-- top --]



Powered by phpwind v8.7 Code ©2003-2011 phpwind
Gzip disabled