<div>Hi!!!, Gracias por tu respuesta Steven, haré lo que me indicas.</div>  <div> </div>  <div>Saludos.<BR><BR><B><I>Steven Davidson <srd4121@njit.edu></I></B> escribió:</div>  <BLOCKQUOTE class=replbq style="PADDING-LEFT: 5px; MARGIN-LEFT: 5px; BORDER-LEFT: #1010ff 2px solid">Hola Kyosuke,<BR><BR>Kyosuke Kasuga wrote:<BR>> Hi!!!, k tal todos?, bueno al grano, tengo un programita en C++ hecho<BR>> en wxDev-C++, en donde tengo 1 archivo de recursos, otro de<BR>> declaraciones y 2 archivos de código con extensión CPP, mi problema<BR>> es que en uno de mis archivos de código tengo declarada una clase,<BR>> pero cuando la llamo desde el otro archivo de código, que es donde<BR>> tengo mi funcion WinMain, me sale un error, y no capto como sacarlo,<BR>> el error que me envia es el siguiente:<BR>> <BR>> "aggregate `BaseDatos MiBase' has incomplete type and cannot be<BR>> defined"<BR>> <BR>> Mi clase se llama BaseDatos y mi objeto se
 llama MiBase, y quiero <BR>> declarar a miBase como un objeto global (publico), en el archivo de <BR>> código donde esta el WinMain le pongo lo siguiente en la parte de <BR>> declaraciones;<BR>> <BR>> class Basedatos;<BR>> <BR>> Pero igual no me funciona, como ya dije antes tengo definida la clase<BR>> en el otro archivo de código, que se encarga especificamente de<BR>> trabajar con MySQL. Cualquier ayuda lo agradecería mucho.<BR>> <BR><BR>El problema está en que el compilador no puede instanciar tu objeto <BR>porque no tiene la definición completa de la clase 'BaseDatos'. <BR>Principalmente, necesita saber la cantidad de bytes que tu objeto va a <BR>ocupar y con 'class BaseDatos;' no es suficiente información.<BR><BR>Intenta incluir "BaseDatos.h" o donde tengas la definición completa de <BR>la clase; o sea, algo más de información que simplemente indicar que se <BR>trata de una clase. Si no puedes, entonces necesitarás usar un puntero <BR>al
 objeto. Por ejemplo,<BR><BR>BaseDatos *pMiBase;<BR><BR>De todas maneras, no comprendo por qué no puedes dar la definición <BR>entera de la clase 'BaseDatos'. Sospecho que has escrito la definición <BR>de la clase en el ".cpp" y no en el ".h". Deberías tener algo así:<BR><BR>// "BaseDatos.h"<BR><BR>#ifndef _BASEDATOS_H_<BR>#define _BASEDATOS_H_<BR><BR>#include <MYSQL.H>// Posiblemente<BR><BR>class BaseDatos<BR>{<BR>public:<BR>BaseDatos();<BR>~BaseDatos();<BR>...<BR>};<BR><BR>#endif _BASEDATOS_H_<BR><BR><BR>// "BaseDatos.cpp"<BR><BR>#include "BaseDatos.h"<BR>#include <MYSQL.H>// Seguro<BR><BR>BaseDatos::BaseDatos()<BR>{<BR>...<BR>}<BR>~BaseDatos::BaseDatos()<BR>{<BR>...<BR>}<BR>...<BR><BR>En el otro código fuente que contiene 'WinMain()', tendrías el siguiente <BR>esquema:<BR><BR>// "programa.cpp"<BR><BR>#include <WINDOWS.H><BR>#include "BaseDatos.h"<BR>//#include <MYSQL.H>// Seguramente
 no<BR><BR>WinMain(...)<BR>{<BR>...<BR>}<BR><BR>WinProc(...)<BR>{<BR>...<BR>}<BR><BR><BR>Como puedes ver, necesitas incluir "BaseDatos.h" con la definición <BR>completa de la clase 'BaseDatos', pero no necesariamente las <BR>definiciones de sus funciones miembro. Las implementaciones son <BR>necesarias en el enlazado, cuando el enlazador las requiere.<BR><BR><BR>Espero que esto aclare la duda.<BR><BR>Steven<BR><BR><BR><BR><BR>_______________________________________________<BR>Lista de correo Cconclase Cconclase@listas.conclase.net<BR>http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net<BR>Bajas: http://listas.conclase.net/index.php?gid=2&mnu=FAQ<BR></BLOCKQUOTE><BR><BR><BR><STRONG><FONT face=verdana>Entre más numerosos somos, más cerca estamos de nuestra propia extinción. <BR></FONT></STRONG><BR><FONT color=#0000ff>http://bisbirudolfo.blogspot.com/</FONT><p>






      <hr size=1><br><font face="Verdana" size="-2">Enviado desde <a href="http://us.rd.yahoo.com/mailuk/taglines/isp/control/*http://us.rd.yahoo.com/evt=52431/*http://es.docs.yahoo.com/mail/overview/index.html">Correo Yahoo!</a><br>La bandeja de entrada más inteligente.<br></font>