C ++如何使用.find_first_not_of()

时间:2017-10-01 16:03:12

标签: c++

我应该检查以确保我的号码在基地。例如:如果基数为10,则只能使用基值的前10个字符(0-9)。 当我尝试运行我的代码时,我不断收到此消息" [错误]无效转换来自' std :: basic_string :: size_type {aka long long unsigned int}'到#char; char *' [-fpermissive]"有人可以帮帮我吗?

const string base_vals = "0123456789abcdefghijklmnopqrstuvwxyz";
string metadrome(string n, int base){
    string new_base_vals= base_vals.substr(0,base);
    string number=n;
    string q = number.find_first_not_of(new_base_vals)
    return q;
}

编辑:这不是完整的代码,只是我输入字符串n有困难的一小部分,而int base是用户输入的值

1 个答案:

答案 0 :(得分:0)

std::string::find_first_not_of()的返回值为size_t。 您需要将呼叫更改为

size_t q = number.find_first_not_of(new_base_vals);

不要忘记更改metadrome()的签名。