Annavl 2022-10-07 19:41 采纳率: 33.3%
浏览 29
已结题

“STR::STR(char [],char [])”: 无法将参数 1 从“const char [9]”转换为“char []”

问题遇到的现象和发生背景
用代码块功能插入代码,请勿粘贴截图
运行结果及报错内容

照着书上一个字一个字敲的,还报错,无语了检查了好几遍,不可能是我的问题
报错原因:严重性 代码 说明 项目 文件 行 禁止显示状态
错误 C2664 “STR::STR(char [],char [])”: 无法将参数 1 从“const char [9]”转换为“char []”

我想要达到的结果
#define  _CRT_SECURE_NO_WARNINGS
#include<string>
#include<iostream>
using namespace std;
class STR
{
private:
    char* p1,*p2,*p;              
    
public:
    STR(char s1[ ], char s2[ ] )//初始化原始字符串并未指针p分配空间
    {
        int n1 = strlen(s1) + 1, n2 = strlen(s2) + 1;
        strcpy(p1 = new char[n1], s1);//strcpy应该是把两个字符串合并的函数
        strcpy(p2 = new char[n2], s2);
        p = new char[n1 + n2 + 1];
    }
    void del(char* s)//删除p指向字符串中的重复字符
    {
        while (*(s + 1))
        {
            for(char*s1=s+1;*s1;s1++)
                if (*s == *s1)
                {
                    *s1 = '\0';
                    strcat(s, s1 + 1);
                    s1--;
                }
            s++;
        }
    }
    void fun()//求p1和p2所指向的两个字符串的并集,并存入指针p所指向的存储空间,
        //注意调用del()函数删除结果中的重复字符
    {
        char* s = p1, * p0 = p;
        while (*p0++ = *s++);
        s = p2;
        p0--;
        while (*p0++ = *s++);
        del(p);
    }
    void print()//输出两个原始字符串及他们的并集
    {
        cout << "原字符串:";
        cout << "原字符串:" << p1 << '\t' << p2 << endl;
        cout << "它们的并集为" << p<< endl;
    }
    ~STR()//析构函数,释放动态内存
    {
        delete []p1;
        delete []p2;
        delete[]p; 

    }
};
int main()
{
    STR s1("adb12345","abcdefg23xz");//先创建s1的STR类对象并且把两个把题目中要求的//字符串合并
    s1.fun();//执行合并函数操作
    s1.print();//执行输出打印 的操作
    return 0;
}

  • 写回答

4条回答 默认 最新

  • 叶落花枯 2022-10-07 20:13
    关注

    11行改成 STR(const char s1[], const char s2[])
    或者 58行改成 STR s1((char *)"adb12345", (char *)"abcdefg23xz");

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 10月15日
  • 已采纳回答 10月7日
  • 创建了问题 10月7日

悬赏问题

  • ¥15 PADS Logic 原理图
  • ¥15 PADS Logic 图标
  • ¥15 电脑和power bi环境都是英文如何将日期层次结构转换成英文
  • ¥20 气象站点数据求取中~
  • ¥15 如何获取APP内弹出的网址链接
  • ¥15 wifi 图标不见了 不知道怎么办 上不了网 变成小地球了
  • ¥50 STM32单片机传感器读取错误
  • ¥15 (关键词-阻抗匹配,HFSS,RFID标签天线)
  • ¥15 机器人轨迹规划相关问题
  • ¥15 word样式右侧翻页键消失