Me surgió la necesidad en un programa que stoy haciendo... de pasar una variable tipo AnsiString a las funciones miembro de mi clase para operar con esta; es x esto que utlizé a los AnsiStrings como si fueran un tipo de dato mas (int, char, bool...) como usualmente al momento de pasar los parámetros a las funciones... pero veo que x ser las funciones miembro de una clase x lo visto no es así de facil...
mi código es este:
//---------------------------------------------------------------------------
#include <vcl.h>
#include <iomanip.h>
#include <iostream.h>
#include <conio.h>
#pragma hdrstop
//---------------------------------------------------------------------------
class Datos{
public:
AnsiString suma(AnsiString x, AnsiString y);
};// end class
//---------------------------------------------------------------------------
int Datos::suma(AnsiString x, AnsiString y){
return x+y;
}//end fun
#pragma argsused
int main(int argc, char* argv[])
{
AnsiString x="hola";
AnsiString y="chau";
Datos *D;
AnsiString S=D->suma(x,y);
cout << S.c_str();
getch();
}
//---------------------------------------------------------------------------
Pero me salta error en la compilación señalandome el prototipo de la funcion miembro alegando:
[C++ Error] Unit1.cpp(18): E2316 'Datos::suma(AnsiString,AnsiString)' is not a member of 'Datos'
=> Es posible pasar objetos como varibles? como sería la forma correcta de hacerlo? O solo me resta tener que invocarlas en donde se encuentren?
Gracias!