"The C++ Standard forbids containers of const elements ""because allocator<const T> is ill-formed."
这个ill-formed是什么意思?
认证高级PHP讲师
不知道你用的什麼容器,如果是vector的話, 因為vector在添加元素的時候,如果空間不夠會重新分配更多的內存,並且把原來的vector元素拷貝過來給新的vector重新賦值,如果元素型別是const,是不支援重新賦值的。所以編譯器會報錯
ill是病態的, 壞的, 不良的意思. ill formed就是錯誤的形式. const T你new出來怎麼修改.....標準庫容器都不支持const T, 因為沒法修改, 像vector這種還要拷貝你的元素.
不知道你用的什麼容器,如果是vector的話, 因為vector在添加元素的時候,如果空間不夠會重新分配更多的內存,並且把原來的vector元素拷貝過來給新的vector重新賦值,如果元素型別是const,是不支援重新賦值的。所以編譯器會報錯
ill是病態的, 壞的, 不良的意思. ill formed就是錯誤的形式.
const T你new出來怎麼修改.....標準庫容器都不支持const T, 因為沒法修改, 像vector這種還要拷貝你的元素.