C/Visual C - Punteros * variable tipo char

   
Vista:

Punteros * variable tipo char

Publicado por Rafael (17 intervenciones) el 23/06/2016 05:53:33
Buen dia programadores, pues aca pidiendo la ayuda de sus conocimientos, pues estoy leyendo un libro de C++ en el cual habla sobre punteros la cuestion es que en un ejemplo pone asi:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include<iostream>
using namespace std;
 
int main(){
	char *lineas[] = {
 
	"Linea1\n",
	"Linea2\n",
	"Linea3\n"
 
	};
 
	cout <<lineas[0]<<endl;
 
	return 0;
}

La cuestion es que al compilar me dice que tengo un error al momento de convertir string a char
pero bueno en el ejemplo del libro no dice nada mas no se si yo me estoy comiendo alguna libraria o porque me da esa notificacion. o almenos porque no fue contemplado en el libro
este es el ejemplo completo del libro:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#include <iostream>
#include <cstdlib>
#include <conio.h>
using namespace std;
 
char *fortunes[] = {
"Soon, you will come into some money.\n",
"A new love will enter your life.\n",
"You will live long and prosper.\n",
"Now is a good time to invest for the future.\n",
"A close friend will ask for a favor.\n"
};
 
int main()
{
int chance;
 
cout << "To see your fortune, press a key: ";
 
// randomize the random number generator
while(!kbhit()) rand();
 
cout << '\n';
 
chance = rand();
 
chance = chance % 5;
 
cout << fortunes[chance];
return 0;
}
Lo que necesito saber es si me falta alguna base para hacer eso , saber sino es posible el hace eso crear una variable tipo char y meter mas de un caracter y si es asi poque en el libro no se contempla esa opcion
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

Punteros * variable tipo char

Publicado por Tom (481 intervenciones) el 23/06/2016 08:20:52
¿ Qué error da el compilador y dónde ?
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

Punteros * variable tipo char

Publicado por Rafael (17 intervenciones) el 23/06/2016 19:43:27
osea no es error en si es un Warning pero como me dijeron evita todo tipo de error o warning en tu codigo. queria saber como solventarlo o si era por la opcion de mi complilador que pasa eso. por usar C++11 o algo asi.

error_
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

Punteros * variable tipo char

Publicado por Tom (481 intervenciones) el 23/06/2016 20:24:38
En c++, un literal de cadena no es un char* como en c. Es un const char[] (en c++ lo del const se mira mucho :))
Hay muchísima información al respecto por la internet; ya que estás tratando de resolver un ejercicio que te han propuesto para que aprendas -supongo- , te recomiendo que hagas una búsqueda en google e investigues un poco ...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

Punteros * variable tipo char

Publicado por Rafael (17 intervenciones) el 23/06/2016 20:42:51
acabo de probar y si le puse const char *lineas[] = { "linea1\n","linea2\n"}; y si se quito el warnign :) es que en un ejemplo anterior dice que cuando C++ encuentra un string literal lo alamecena en una tabla especial. (mi traduccion libro en ingles) llamada "string table"

The string table is
a table generated
by the compiler
that holds the
strings used by
your program.

Pero le puse el const y funciono perfecto gracias por la info previa buscare informacion al respecto pero gracias por haberme sacao de esa duda. :)
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