C/Visual C - AYUDA!!!!!

 
Vista:

AYUDA!!!!!

Publicado por Ivonne (2 intervenciones) el 25/06/2006 01:09:11
Hola, estoy haciendo ejercicios con matrices, y al compilarlas no me da ningun error, pero cuando quiero ejecutarlos me sale el siguiente error

Linking PRA3EJ15.EXE: ■
Linker Error: Undefined symbol DiagPrincipal(int near*) in module PRA3EJ15.CP

El codigo del ejercicio es el siguiente:

#include<conio.h>
#include<iostream.h>
#include<stdlib.h>
#include <stdio.h>

typedef int t_MatrizNum[3,3];

int DiagPrincipal(t_MatrizNum MatNum);
int DiagOpuesta(t_MatrizNum MatNum);

void main(){
t_MatrizNum MatNum;
int Resultado=0;//variable para igualar con la funcion
int funcion=0;

cout<<"Ingrese la diagonal que desea sumar (1=Principal,2=Opuesta): "<<endl;
cin>>funcion;
if (funcion==1)
Resultado=DiagPrincipal(MatNum);
else
Resultado=DiagOpuesta(MatNum);
}
int DiagPrincial(t_MatrizNum MatNum){
int x;
int tot=0;
for (x=0;x<3;x++)
{
tot=MatNum[x,x]+tot;
};
getch();
return tot;
}
int DiagOpuesta(t_MatrizNum MatNum){
int x;
int tot=0;
for (x=3;x>0;x--)
{
tot=MatNum[x,x]+tot;
};
getch();
return tot;
}
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:AYUDA!!!!!

Publicado por fernando.gomez (1603 intervenciones) el 26/06/2006 22:35:46
Pues mira, ese error de enlazado se da porque el enlazador no encuentra la implementación de la función.

Ahora bien, según yo, esto de "typedef int t_MatrizNum[3,3]; " es inválido, y si tu compilador lo soporta, entonces tendrás que recurrir a la documentación del mismo. Por lo que veo, te lo interpreta como int*, con toda razón, puesto que un vector a final de cuentas es un puntero a una secuencia de datos consecutivos.

Por otro lado, no veo la ventaja de hacer una definición de tipo. ¿Por qué no hacer int t_MatrizNum[3,3]?

Finalmente, un comentario de estilo. Usualmente, el prefijo t_ se emplea para instancias de objetos parametrizables (templates).

Saludos.
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