You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C++代码报错invalid conversion from char to const char * 解决方案咨询

问题修复:invalid conversion from char to const char *

错误原因

ptr是一个指向const char的指针数组,ptr[i]本身就是const char*类型,直接指向数组中第i个字符串的首地址。而*ptr[i]会取到该字符串的第一个字符(char类型),但strcmp函数要求两个参数都是const char*类型,因此类型不匹配触发报错。

修复方案

只需将if(!strcmp(str, *ptr[i]))中的*ptr[i]改为ptr[i]即可。

修正后的完整代码

#include <iostream>
#include <cstring>
using namespace std;

int main()
{
    const char *ptr[10] = { "books", "television", "computer", "sports" };
    int i = 0;
    char str[25];
    cout << "\nEnter your favorite leisure pursuit here :" << "\n";
    cin >> str;
    for (i = 0; i < 4; i++)
    {
        if (!strcmp(str, ptr[i]))
        {
            cout << "\n your favorite pursuit is available here " << endl;
            break;
        }
    }
    if (i == 4)
    {
        cout << "\n\nYour favorite leisure is not available here" << endl;
    }
    return 0;
}

内容的提问来源于stack exchange,提问作者Jasmeet Singh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.04 21:45:11