How can I pass a constant int via command line argument in C++?

bitset, c++, command-line-arguments, constants, variable-types

Solution

If it is going to be passed as a command line argument, then you cannot make it a constant.

By the way, this is relevant to your case: Define bitset size at initialization?

Problem

I want to be able to pass an integer via command line argument that I will call length. I need to make this constant, because it will be used to determine the size of several bitsets. I have tried doing this many ways, for example: ``` 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; } ``` I also tried it this way: ``` 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; } ``` But none of the ways I have tried it worked. How can I accomplish this?

Original source

Related problems