[C con Clase] Pasar string directamente a una función

User usuarioanonimomysql en gmail.com
Dom Feb 23 22:15:57 CET 2014


Hola,

He ejecutado:

g++ --version

y he obtenido.

g++ (Ubuntu 4.4.3-4ubuntu5) 4.4.3

Y en la máquina que me funciona obtengo:

g++ (GCC) 4.2.1

Saludos.


El 21 de febrero de 2014, 7:03, User <usuarioanonimomysql en gmail.com>escribió:

> Hola de nuevo,
>
> He probado en otra máquina Linux y el código compila correctamente, tiene
> que ser el compilador g++ concreto de la máquina. Cuando tenga la
> oportunidad ejecutaré:
>
> g++ --version
>
> y os diré que versión de compilador tengo instalado.
>
> Saludos y gracias por las pruebas.
>
>
> El 20 de febrero de 2014, 20:21, d1cor <cordobadie en gmail.com> escribió:
>
>
>> Yo no tengo ningun problema al compilar y ejecutar la llamada usando un
>> argumento tipo string con el siguiente código:
>>
>> #include <iostream>
>> #include <string>
>> using namespace std;
>> void foo(const string texto)
>> {
>>     cout << texto << endl;
>> }
>> int main()
>> {
>> foo("hola");
>> return 0;
>>  }
>>
>>
>> ----
>> y la compilación (a.cpp es el fuente):
>>
>> die en tuta2:/tmp$ g++ a.cpp
>> die en tuta2:/tmp$ ./a.out
>> hola
>>
>> die en tuta2:/tmp$ g++ --version
>> g++ (Debian 4.8.2-1) 4.8.2
>> Copyright (C) 2013 Free Software Foundation, Inc.
>> This is free software; see the source for copying conditions.  There is NO
>> warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR
>> PURPOSE.
>>
>> No será otro el problema? Resulta raro el error.
>>
>> Slds a todos!
>> --
>> Ing. Diego Cordoba
>> Instructor/Consultor GNU/Linux
>> LPI Linux Certified Professional
>> Site: www.d1cor.com.ar
>>
>>
>> On Thu, 20 Feb 2014 16:27:58 +0100
>> User <usuarioanonimomysql en gmail.com> wrote:
>>
>> > No, es un requerimiento usar string y no un puntero a char.
>> >
>> >
>> > El 20 de febrero de 2014, 14:00, Joel Martín Prada García <
>> > joel.prada en gmail.com> escribió:
>> >
>> > > Buenos días, Utilice un apuntador a caracter en la declaración de la
>> > > función, así:
>> > >
>> > > #include <iostream>
>> > > #include <string>
>> > >
>> > > using namespace std;
>> > >
>> > > void foo(char *texto)
>> > > {
>> > > printf("%s",texto);
>> > > }
>> > >
>> > > int main()
>> > > {
>> > > foo("hola");
>> > > return 0;
>> > > }
>> > >
>> > >
>> > >
>> > > El 20 de febrero de 2014, 2:35, User
>> > > <usuarioanonimomysql en gmail.com>escribió:
>> > >
>> > >> Hola,
>> > >>
>> > >> Tengo una función que recibe un parámetro de tipo std::string,
>> > >> cuando trato de llamar a esa función pasando directamente un
>> > >> string el compilador me da un error diciendo que no existe una
>> > >> función tal que reciba lo que le estoy pasando.
>> > >>
>> > >> Es algo así:
>> > >>
>> > >> #include <iostream>
>> > >> #include <string>
>> > >>
>> > >> using namespace std;
>> > >>
>> > >> void foo(const string &texto)
>> > >> {
>> > >> }
>> > >>
>> > >> int main()
>> > >> {
>> > >>   foo("hola");
>> > >>   return 0;
>> > >> }
>> > >>
>> > >> También he probado a llamarlo así:
>> > >>
>> > >> foo(string("hola"));
>> > >>
>> > >> con el mismo resultado.
>> > >>
>> > >> Utilizo g++ para compilar. No me gustaría tener que recurrir a
>> > >> crear variables de tipo string para llamar a foo. ¿Alguna idea de
>> > >> qué puede ser?
>> > >>
>> > >> Saludos.
>> > >>
>> > >> _______________________________________________
>> > >> Lista de correo Cconclase Cconclase en listas.conclase.net
>> > >>
>> http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net
>> > >> Bajas: http://listas.conclase.net/index.php?gid=2&mnu=FAQ
>> > >>
>> > >
>> > >
>> > > _______________________________________________
>> > > Lista de correo Cconclase Cconclase en listas.conclase.net
>> > >
>> http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net
>> > > Bajas: http://listas.conclase.net/index.php?gid=2&mnu=FAQ
>> > >
>>
>>
>>
>>
>> _______________________________________________
>> Lista de correo Cconclase Cconclase en listas.conclase.net
>> http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net
>> Bajas: http://listas.conclase.net/index.php?gid=2&mnu=FAQ
>>
>
>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.conclase.net/pipermail/cconclase_listas.conclase.net/attachments/20140223/a9996cb1/attachment.html>


Más información sobre la lista de distribución Cconclase