Manera correcta de trabajar con vectores de matrices.

Resuelto Pulkit Sinha asked hace 13 años • 5 respuestas

¿Alguien podría decir cuál es la forma correcta de trabajar con un vector de matrices?

Declaré un vector de matrices ( vector<float[4]>) pero lo obtuve error: conversion from 'int' to non-scalar type 'float [4]' requestedal intentarlo resize. ¿Qué está pasando mal?

Pulkit Sinha avatar Jan 06 '11 13:01 Pulkit Sinha
Aceptado

No puede almacenar matrices en un vectorcontenedor ni en ningún otro. El tipo de elementos que se almacenarán en un contenedor (llamado tipo de valor del contenedor ) debe ser copiable y asignable. Las matrices no son ninguna de las dos cosas.

Sin embargo, puedes usar una arrayplantilla de clase, como la proporcionada por Boost, TR1 y C++0x:

std::vector<std::array<double, 4> >

(Querrá reemplazar std::arraycon std::tr1::arraypara usar la plantilla incluida en C++ TR1, o boost::arrayusar la plantilla de las bibliotecas de Boost . Alternativamente, puede escribir la suya propia; es bastante sencillo).

James McNellis avatar Jan 06 '2011 06:01 James McNellis

Usar:

vector<vector<float>> vecArray; //both dimensions are open!
Sarfaraz Nawaz avatar Jan 06 '2011 06:01 Sarfaraz Nawaz