Question

C'est du Boost Docs et compile sans problème.

#include "boost/multi_array.hpp"

int main () {
    // Create a 3D array that is 3 x 4 x 2
    typedef boost::multi_array<double,3> array_type;
    typedef array_type::index index;
    array_type A(boost::extents[3][4][2]);
    return 0;
}

Ma question est: quel est le deuxième paramètre de modèle? Ce n'est pas clair pour moi de la documentation. Ce code ne compilera que s'il est défini sur 3.

Était-ce utile?

La solution

C'est combien de dimensions vous avez besoin.

boost::extents[3][4][2] // we use 3 dimensions

Donc, si vous modifiez ce numéro, vous devrez changer cette ligne.

Autres conseils

C'est la «dimension numérique» --- c'est-à-dire le nombre de dimensions de votre tableau: trois parce que vous avez trois indices sur votre boost::extents.

C'est le nombre de dimensions du tableau:

Vous avez changé en conséquence l'appel ctor:

array_type A(boost::extents[3][4]);
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top