-
Contenido
230 -
Ingreso
-
Última visita
Reputación comunidad
67 ExcellentAcerca de Hinoishi314
-
Rango
Antediluvian
-
Gracias amigo, pero si tengo declarados como públicos los miembros de la clase...
-
Buenas noches, ni si quiera sé si estoy en el subforo correcto porque no suelo pasarme muy a menudo... pero bueno por intentarlo no pierdo nada no me lo cerréis por diosito. Tengo un problema muy absurdo con un código muy sencillo, básicamente tengo que leer datos de un fichero de texto (son 100 o 150 filas, con 3 columnas cada una) para luego operar y jugar con ellos. Como cada fila representa información de una unidad igual a la anterior (por ejemplo medidas de 100 tornillos), he creado una clase en la que defino esas 3 magnitudes que hay en cada columna, y luego voy leyendo el fichero almacenando cada clase como una unidad en un vector de clases. Si le pido al programa que me muestre el vector número X, efectivamente me muestra los tres valores que hay en la fila X del archivo, pero cuando quiero que me muestre solo una de las columnas del vector número X me dice que la clase no contiene un miembro con ese nombre. Estoy muy frustrado, llevo ya 2 horas con esto y no consigo ver qué pasa, seguro que es una chorrada y eso me hace sentir aún más idiota. Os copypasteo el código y el error que me sale, si alguien puede ayudarme lo agradezco infinito. #include <iostream> #include <vector> #include<fstream> #include <cstdlib> #include<cmath> #include <time.h> using namespace std; class Tornillo { int Nserie; double diametro; double longitud; public: Tornillo(int serie=0,double diam=0,double longi=0) { Nserie=serie; diametro=diam; longitud=longi; } friend void leeFichero(vector<Tornillo> &v); friend ostream& operator<<(ostream &out,Tornillo &v); friend void minimo_y_maximo (double &maximo,double &minimo,vector<Tornillo> &v); friend void media_y_mediana (double &media,double &mediana,vector<Tornillo> &v); }; void leeFichero(vector<Tornillo> &v) { Tornillo S; ifstream fichero("tornillos.txt"); if(!fichero) { cout<<"El fichero no puede abrirse\n"; exit(EXIT_FAILURE); } while(fichero) { fichero>>S.Nserie; fichero >>S.diametro; fichero>>S.longitud; if(!fichero.fail()) v.push_back(S); } fichero.close(); } ostream& operator<<(ostream &out,Tornillo &v) { out<<v.Nserie<<" "<<v.diametro<<" "<<v.longitud<<endl; return out; } int main() { vector<Tornillo> S; leeFichero(S); leeTolerancias; for (int i=0; i=1; ++i) cout<<S.diametro<<endl; return 0; } PD: también he probado haciendo S.diametro[3], y nada, siempre es el mismo error. Que la clase Tornillo no tiene un miembro llamado diámetro... ¿puede ser por haber sobrecargado "<<" y aunque me de problemas para imprimir por pantalla, no me vaya a dar problemas para utilizar la columna de Diametros para operar más adelante? Se me acaba de ocurrir mientras escribía, pero no creo que sea eso porque me dice directamente que no existe Diametro, os enseño el mensaje: error: 'class std::vector<Tornillo>' has no member named "diametro" PD2: me pasa exactamente igual si llamo a S.diam Gracias por adelantado
-
No era en absoluto necesario #RenoWannaBe
-
Qué?
-
El Ejército indio dice haber encontrado huellas del Yeti
Hinoishi314 responde a Estress de tema en Off Topic
-
Que intriga, ¿podrán resucitar a Spiderman y los demás? Espero con ganas la segunda parte y me llevo una pole de gratis.
-
Porque antes debían encontrar y destruir los horrocruxes
-
Si fueras a Westworld que seria lo primero que harias?
Hinoishi314 responde a Empal de tema en Off Topic
Orgía con 4 putucas electrónicas -
Opinemos acerca de estas leopardísticas nalgas.
Hinoishi314 responde a Algerion Z de tema en Off Topic
Desde luego que joven estaba ahí Iker Jiménez. -
Por dios que alguien responda xD
-
Solo podía ser en Meristation
-
Feministas radicales y trans a golpes en la Argentina
Hinoishi314 responde a Katakas el humilde de tema en Off Topic
Son sus costumbres -
Gracias vuelva pronto
-
¿¿ Nombre de la muchacha ?? Es para declarar como testigo en la denuncia eh