D:\C语言\新建文件夹\homework\7.1.cpp|79|error: invalid conversion from 'const char*' to 'KeyType' {aka 'char'} [-fpermissive]|
时间: 2023-12-18 18:02:16 浏览: 76
这个错误是因为在代码中使用了字符串常量来给KeyType类型的变量赋值,而KeyType被定义为字符型,无法直接赋值为字符串常量。
如果你希望给KeyType类型的变量赋值为字符串常量,可以将KeyType类型改为字符串类型,即:
```
typedef std::string KeyType; // 定义关键字类型为字符串类型
```
如果你希望KeyType类型仍然为字符型,那么可以将字符串常量转换为字符类型,例如:
```
char c = 'a'; // 将字符型变量c赋值为字符'a'
KeyType k = c; // 将字符型变量c转换为KeyType类型并赋值给变量k
```
或者使用字符串常量的第一个字符来赋值,例如:
```
KeyType k = 'a'; // 将字符常量'a'赋值给KeyType类型的变量k
```
需要根据你的需求来选择适合的方法。
相关问题
);//调用删除函数 显示26 19 D:\C语言\C语言课后作业\实验13.5.cpp [Error] invalid conversion from 'const char**' to 'char**' [-fpermissive]
这个错误是因为 `del_name` 函数的参数类型是 `char **`,表示一个指向指针数组的指针,而 `name` 数组的类型是 `const char *` 指针数组,表示一个指向只读字符串常量的指针数组,两者类型不匹配。
为了解决这个错误,你可以修改 `del_name` 函数的参数类型为 `const char **`,表示一个指向只读字符串常量的指针数组的指针,代码如下:
```
int del_name(const char **name, int n)
{
//...
}
```
这样修改后,编译器就不会再报错了。
阅读全文