shared_ptr не компилируется - PullRequest
0 голосов
/ 02 марта 2020
int main()
{
    //instruction 1 -> OK
    std::unique_ptr<int[]> sp2(new int[10]);

    //instruction 2 ->error does not compile
    std::shared_ptr<int[]> sp1(new int[10]);
}

Я читал об удалении и удалении [], когда память, выделенная для интеллектуальных указателей, заполнена новым []. Почему инструкция 1 с std::unique_ptr в порядке, а с std::shared_ptr - нет?

1 Ответ

1 голос
/ 02 марта 2020

G CC 7 или более поздняя версия скомпилирует код, с которым у вас возникли проблемы: https://godbolt.org/z/pTWWVG

Веб-сайт "cpp. sh", на который вы ссылались комментарий использует G CC 4.9, который довольно старый, и был первой версией, которая утверждала, что поддерживает C ++ 14.

...