C/Visual C - el complilador se confunde

 
Vista:

el complilador se confunde

Publicado por Oliver Ramirez (339 intervenciones) el 17/08/2002 22:37:30
el compilador esta confundiendo la declaracion de un objeto (instanciacion) con el prototipo de una funcion ej.:

void main()
{
Cmatriz <double, 3, 3> matriz();//declaro matriz 3x3
}
si luego hago esto:

matriz.determinante();
el compilador dice que el lado izquierdo de la operacion debe contener un tipo struct/union/class.

tengo un constructor bien declarado, pero no toma parametros, por eso lo dejo vacio //matriz()
COMO SOLUCIONO ESTE PROBLEMA?
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:el complilador se confunde

Publicado por chuidiang (677 intervenciones) el 18/08/2002 11:56:03
No tengo muy claro el problema por que necesitaria ver más código. Lo único que puedo decirte es que el código de un template, al no saber muy bien el tipo que está usando, admite casi todo al compilar sin dar errores de compilación (incluso errores de sintaxis).
Dichos errores aparecen luego, cuando intentas instanciar el template y están en el fuente del template, no en el código que estás haciendo.

Otra cosa que me suena rara es lo del 3,3 al instanciar el template. No estoy muy seguro que se puedan poner variables o valores en los tipos del template. Que yo sepa sólo se pueden poner tipos o nombres de clases.

Se bueno.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:el complilador se confunde

Publicado por Oliver Ramirez (339 intervenciones) el 18/08/2002 18:27:30
te voy a enviar el codigo por correo para que lo veas mas claro.
en un template se pueden pasar variables 'en distincion por tipo'
para que sean de diferentes tipos los objetos instanciados con valores de variables diferentes. gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:el complilador se confunde

Publicado por El Mogur (202 intervenciones) el 19/08/2002 21:54:24
Pero... el problema no es que sobran los paréntesis en la declaración del objeto?
void main() {
Cmatriz<double, 3, 3> matriz;
}

Si no, lo que estás haciendo es declarar una función que no recibe parámetros y que devuelve un Cmatriz.

Espero que te sirva.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar