在此简单函数中从'char'到'const char *'的无效转换

Mic*_*ist 1 c++ compiler-errors

这是代码:

bool Vehicle::checkID(std::string id)
{
    std::vector<int> digits;

    for (char c : id)
    {
        if(std::isdigit(c))
        {
            digits.push_back(atoi(c));
        }

        else
        {
            digits.push_back(int(c));
        }
    }
Run Code Online (Sandbox Code Playgroud)

我不知道他为什么会为“ digits.push_back(atoi(c))”抛出此错误。

我是一个初学者,我知道这对您来说并不难。

Jef*_*ica 5

您不能:

atoi(c)
Run Code Online (Sandbox Code Playgroud)

atoi()期待一个char *。你可能想要

digits.push_back(c - '0');
Run Code Online (Sandbox Code Playgroud)