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

如何创建指向二维字符数组的指针?代码类型不匹配报错求解

错误原因与修复方案

错误原因

  • 类型不匹配:你定义的d1是二维数组,每个元素是指向const char的指针,实际类型为const char *[9][2];而你声明的ptr是指向“包含2个char的数组”的指针(类型char (*)[2]),两者的元素类型完全不兼容。
  • const限定丢失:d1中的字符串字面量带有const属性,不能用非const指针指向,否则会违反类型安全规则,编译器会直接报错拦截这种操作。

修复方法

把指针的类型改成指向包含2个const char*的数组,也就是const char *(*ptr)[2],这样类型和d1完全匹配,同时保留了const限定:

const char * d1 [][2] =
{
    { "murderer", "termination specialist" },
    { "failure", "non-traditional success" },
    { "specialist", "person with certified level of knowledge" },
    { "dumb", "cerebrally challenged" },
    { "teacher", "voluntary knowledge conveyor" },
    { "evil", "nicenest deprived" },
    { "incorrect answer", "alternative answer" },
    { "student", "client" },
    { NULL, NULL }
};
const char *(*ptr)[2] = d1;

内容的提问来源于stack exchange,提问作者Matouš Kovář

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 13:25:47