Cr�ation de variable avec un type variable !
Bonjour � tous,
Je cherche � �crire une fonction qui prenne en argument le string 'type', qui doit �tre choisi dans la liste : char, short int, int, float etc... (vous m'avez compris), et qui d�clare une variable 'x' du type choisi.
Simplissime !?
Et pourtant je n'y arrives absolument pas !
Enfin ce n'est pas exacte, un truc de ce style peut marcher :
Code:
1 2 3 4 5 6 7 8
|
if ( "char".compare(type) == 0)
{
char x; else if ( "short int".compare(type) ==0 )
{
short int x; else if (blablabla...
}
} |
Mais je n'insiste pas, vous avez compris : c'est lourd et en plus �a compile tr�s difficilement ( i.e : que si 'x' est d�clar� au pr�alable, quitte � la re-d�clar�e, parce que sinon la construction conditionnelle ne permet pas � 'x' d'�tre d�clar�e � coup sur... ou en tout cas c'est ce que pense le compilateur )
J'ai cherch� partout de l'aide sur le sujet, genre comment d�clarer les variables, typer les variables etc etc, mais toutes les aides que je trouve se r�f�rent � des trucs bateaux du style "int myfirstvariable" ou autre...
Si quelqu'un � une solution toute faite � me mettre sous le nez (m�me un bout de tuto ou un truc qui m'avance), ou alors une petite id�e je suis preneur.
Merci beaucoup d'avance,
Cordialement,
Mark.
PS : ci-dessous l'ersatz de code que j'ai d�j� �crit ; J'ai marqu� et mis en commentaire le morceau qui est �videmment faux, mais il montre bien ce que je cherches � faire au moins ... vous voyez non ?
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
|
string type;
string names[] = {"char", "short int", "int", "float", "double"};
printf("Chose type of stack among : char, short int, int, float, double\n");
getline( cin, type);
for (int i=0; i < 5; i++)
{
if ( names[i].compare( type ) == 0 )
{
//names[i] s; <-- Le problème est ici
}
} |