jeudi 28 février 2019

Cannot convert string to char* for argument 1

I am having an issue with my C++ code for converting a string of numbers in base b to another base n. My error is as follows:

cannot convert ‘std::__cxx11::string {aka std::__cxx11::basic_string<char>}’ to ‘char*’ for argument ‘1’ to ‘int base_to_decimal(char*, int)’

I am using g++ to compile and I have been for a while, so I thought at first I knew what the issue was. It says that the method base_to_decimal accepts two arguments: one of type char* and one of type int. So all I should have to do to fix my issue is change the char* argument to a string right? Well I looked and the code for the function in question is:

int base_to_decimal(std::string input_base, int base)

So this method SHOULD be expecting a string, but for some reason when I pass in a string it gets angry at me. If someone could help me figure this out that would be fantastic. I am using g++ 7.3.0 and running all this on Linux Mint 19.1.

Aucun commentaire:

Enregistrer un commentaire