Как вы назначаете boost :: indexes в переменной?

Я пытаюсь сохранить boost::indices в переменной. Из того, что я могу собрать, это производит index_gen тип. Тем не мение, index_gen похоже на шаблон в boost::detail, но параметры шаблона не выставляются multi_array::index_genи они, кажется, по умолчанию <0,0>, которая выдает ошибку, которую вы увидите ниже:

Я пробовал следующее:

#include "boost/multi_array.hpp"
int main()
{
typedef boost::multi_array<double, 3> array_type;
using IndexType = boost::array<array_type::index, 3>;
array_type A;
A.reshape(IndexType({{3,4,2}}));

// this works
array_type::array_view<3>::type myview =
A[ boost::indices[array_type::index_range(0,2)][array_type::index_range(1,3)][array_type::index_range(0,4)] ];

// This produces a compiler error:
array_type::index_gen test = boost::indices[array_type::index_range(0,2)][array_type::index_range(1,3)][array_type::index_range(0,4)];

}

Ошибка:

error: conversion from 'boost::detail::multi_array::index_gen<3, 3>' to non-scalar type 'boost::detail::multi_array::multi_array_base::index_gen {aka boost::detail::multi_array::index_gen<0, 0>}' requested
array_type::index_gen test = boost::indices[array_type::index_range(0,2)][array_type::index_range(1,3)][array_type::index_range(0,4)];

Есть мысли о том, как хранить этот индексный объект?

1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector