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?