Je veux être en mesure de passer un entier via l'argument de la ligne de commande que j'appellerai length. Je dois rendre ceci constant, car il sera utilisé pour déterminer la taille de plusieurs bitsets. Je l'ai essayé de faire ce bien des façons, par exemple:Comment puis-je passer un int constant via un argument de ligne de commande en C++?
int main(int arc, const char* argv[]){
const int * ptr;
if (!(istringstream{argv[1]} >> ptr)) { return 1;}
const int length = *ptr;
bitset<length> right_ones = 1;
return 0;
}
J'ai essayé aussi de cette façon:
int main(int arc, const char* argv[]){
int test_int;
if (!(istringstream{argv[1]} >> test_int)) { return 1;}
const int length = argv[1];
bitset<length> right_ones = 1;
return 0;
}
Mais aucun des moyens que je l'ai essayé travaillé. Comment puis-je accomplir cela?
Si elle est passée via un argument de ligne de commande, elle n'est évidemment pas constante. – harold
Obtenez votre DeLorean jusqu'à 88 mph. Exécutez le programme, observez les futures entrées de l'utilisateur, puis revenez et ajoutez-le. – molbdnilo
Les modèles ne peuvent être utilisés qu'avec une constante de temps de compilation. Les valeurs qui passent avant l'exécution ne sont évidemment pas des constantes de temps de compilation –