Comment atsortingbuez-vous un boost :: indices dans une variable?

J’essaie de stocker un boost::indices dans une variable. D’après ce que je peux index_gen , cela produit un type index_gen . Cependant, index_gen semble être index_gen sur un modèle dans boost::detail , mais les parameters du modèle ne sont pas exposés à multi_array::index_gen , et ils semblent multi_array::index_gen valeur par défaut , ce qui génère l’erreur que vous verrez ci-dessous:

J’ai essayé ce qui suit:

 #include "boost/multi_array.hpp" int main() { typedef boost::multi_array array_type; using IndexType = boost::array; array_type A; A.reshape(IndexType({{3,4,2}})); // this works array_type::array_view::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 comstackr 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)]; } 

L’erreur est:

 error: conversion from 'boost::detail::multi_array::index_gen' to non-scalar type 'boost::detail::multi_array::multi_array_base::index_gen {aka boost::detail::multi_array::index_gen}' 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)]; 

Des idées sur la façon de stocker cet object d’index?