Как присвоиться / копируют Повышение:: multi_array

Я думаю единственный предел, который должен быть применен, похож на предел буквы 2000 года или что-то еще insainly высоко, но только ограничить размер базы данных, если это - выпуск

8
задан Peter Smit 6 August 2009 в 08:55
поделиться

1 ответ

Перед назначением необходимо изменить размер m_f . Это могло бы выглядеть следующим образом:

void set_f(boost::multi_array<short, 2> &f) {
    std::vector<size_t> ex;
    const size_t* shape = f.shape();
    ex.assign( shape, shape+f.num_dimensions() );
    m_f.resize( ex );
    m_f = f;
}

Может быть, есть способ получше. Преобразование short в char будет неявным. Вам следует рассмотреть возможность использования std :: transform , если вы хотите явное преобразование.

5
ответ дан 5 December 2019 в 23:16
поделиться
Другие вопросы по тегам:

Похожие вопросы: