c++ - 容器元素是const元素时的错误
PHP中文网
PHP中文网 2017-04-17 13:12:23
0
2
819

"The C++ Standard forbids containers of const elements "
"because allocator<const T> is ill-formed."

这个ill-formed是什么意思?

PHP中文网
PHP中文网

认证高级PHP讲师

全部回覆(2)
小葫芦

不知道你用的什麼容器,如果是vector的話, 因為vector在添加元素的時候,如果空間不夠會重新分配更多的內存,並且把原來的vector元素拷貝過來給新的vector重新賦值,如果元素型別是const,是不支援重新賦值的。所以編譯器會報錯

刘奇

ill是病態的, 壞的, 不良的意思. ill formed就是錯誤的形式.
const T你new出來怎麼修改.....標準庫容器都不支持const T, 因為沒法修改, 像vector這種還要拷貝你的元素.

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板