i utilisé
std::fill(foo.begin() , foo.end() , 0);
pour résoudre mon problème (ne sais pas s'il vaut mieux alors boost :: attribuer, depuis que je suis incapable de l'appliquer).
avec boo
J'ai toujours un problème, car std :: fill (boo.begin() -> begin(), boo.end() -> end(), 0); compilation passe, mais une fois que je lance mon programme, je reçois l'erreur suivante:
/usr/include/boost/multi_array/base.hpp:178: Reference boost::detail::multi_array::value_accessor_one::access(boost::type, boost::multi_array_types::index, TPtr, const boost::multi_array_types::size_type*, const boost::multi_array_types::index*, const boost::multi_array_types::index*) const [with Reference = unsigned int&, TPtr = unsigned int*, T = unsigned int]: Assertion `size_type(idx - index_bases[0]) < extents[0]' failed.Blockquote
ici est un code court:
#include <iomanip>
#include "boost/multi_array.hpp"
#include <iostream>
namespace vec {
typedef boost::multi_array<unsigned int, 1> uint_1d_vec_t;
typedef boost::multi_array<unsigned int, 2> uint_2d_vec_t;
typedef uint_1d_vec_t::index index_1d_t;
typedef uint_2d_vec_t::index index_2d_t;
}
using namespace std;
int main() {
unsigned int num_elements, num_bits, max_runs, m;
num_bits = 12;
max_runs = 5000;
m = 2;
num_elements = (1 << num_bits);
double kappa = 79;
vec::uint_1d_vec_t foo(boost::extents[ static_cast<vec::index_1d_t>(num_elements) ] );
vec::uint_2d_vec_t boo(boost::extents[ static_cast<vec::index_2d_t>(num_elements) ][ static_cast<vec::index_2d_t>(kappa) ]);
std::fill(foo.begin() , foo.end() , 0);
std::fill(boo.begin()->begin() , boo.end()->end() , 0);
std::cout << "Done" << std::endl;
return EXIT_SUCCESS;
}
@Octavian: Merci, mais l'ajout de tags dans les titres est l'opposé du nettoyage. –
@ LightnessRacesinOrbit Cela semble être une question de point de vue personnel. [Comment écrire un bon titre?] (Http://meta.stackexchange.com/questions/10647/how-do-i-write-a-good-title). –
@OctavianDamiean: La vue prédominante sur ce sujet est que les balises dans les titres sont mauvaises. Nous avons déjà un système d'étiquetage cohérent et indexé. Mods m'ont également soutenu sur ces modifications dans le passé. Je ne peux pas plaire à tout le monde, bien sûr. –